상당히 작은 데이터 세트에서도 힙 공간 오류가 발생합니다. 나는 내가 시스템 메모리를 다 사용하고 있지 않다는 것을 확신 할 수있다. 예를 들어 약 20,000 개의 행과 9 개의 열을 포함하는 데이터 세트가 디스크에서 1GB를 차지한다고 가정 해보십시오. 30GB의 메모리가있는 Google Compute 노드에서 사용하고 있습니다.sparklyr에서 힙 공간이 부족하지만 충분한 메모리가 있습니다.
df
이라는 데이터 프레임에이 데이터가 있다고 가정 해 보겠습니다. 다음은 다소 천천히이기는하지만, 잘 작동 :
library(tidyverse)
uniques <- search_raw_lt %>%
group_by(my_key) %>%
summarise() %>%
ungroup()
다음은 java.lang.OutOfMemoryError: Java heap space
가 발생합니다.
library(tidyverse)
library(sparklyr)
sc <- spark_connect(master = "local")
df_tbl <- copy_to(sc, df)
unique_spark <- df_tbl %>%
group_by(my_key) %>%
summarise() %>%
ungroup() %>%
collect()
나는 불꽃을 쌓기 위해 힙 공간을 늘리기 위해 this suggestion을 시도했다. 문제가 지속됩니다. 기계의 상태를 htop
으로 보면 총 메모리 사용량이 약 10GB를 초과하지 않습니다.
library(tidyverse)
library(sparklyr)
config <- spark_config()
config[["sparklyr.shell.conf"]] <- "spark.driver.extraJavaOptions=-XX:MaxHeapSize=24G"
sc <- spark_connect(master = "local")
df_tbl <- copy_to(sc, df)
unique_spark <- df_tbl %>%
group_by(my_key) %>%
summarise() %>%
ungroup() %>%
collect()
마지막으로,하기 Sandeep의 의견에 따라, 나는
4G
에
MaxHeapSize
을 낮추는 시도했다. (가상 작업자 당 또는 전체 Spark 로컬 인스턴스에 대해
MaxHeapSize
입니까?) 여전히 힙 공간 오류가 있으며 다시 시스템의 메모리를 많이 사용하지 않았습니다.
는 MaxHeapSize = 4GB''에'MaxHeapSize = 24G'을 감소 : 모두 함께 퍼팅, 나는 다음과 같이 작동있어. 24GB 메모리가 필요하지 않습니다. 심지어 4GB로 충분합니다. –
감사합니다. 여전히 오류가 발생합니다. 나는이 문제를 다루기위한 질문의 텍스트를 분명히했다. –
이 작업을 실행하는 데 사용중인 spark submit 명령을 게시 할 수 있습니까 ?? –