我在紗線上運行spark時遇到此錯誤Container exited with a non-zero exit code 137
。我經歷了幾項技術,但沒有幫助。火花配置如下所示:EMR 5.x |在紗線上的火花|退出代碼137和Java堆空間錯誤
spark.driver.memory 10G
spark.driver.maxResultSize 2G
spark.memory.fraction 0.8
我在客戶端模式下使用紗線。 spark-submit --packages com.databricks:spark-redshift_2.10:0.5.0 --jars RedshiftJDBC4-1.2.1.1001.jar elevatedailyjob.py > log5.out 2>&1 &
示例代碼:
# Load the file (its a single file of 3.2GB)
de_pulse_ip = spark.read.csv('s3://aiqdatabucket/aiq-inputfiles/de_pulse_ip/latest/de_pulse_additional.txt.gz', schema=ipAadditionalPulseSchema, sep=';', header=True)
# write the de_pulse_ip data into parquet format
de_pulse_ip = de_pulse_ip.select("ip_start","ip_end","country_code","region_code","city_code","ip_start_int","ip_end_int","postal_code").repartition(50)
de_pulse_ip.write.parquet("s3://analyst-adhoc/elevate/tempData/de_pulse_ip1.parquet", mode = "overwrite")
# read de_pulse_ip data intp dataframe from parquet files
de_pulse_ip = spark.read.parquet("s3://analyst-adhoc/elevate/tempData/de_pulse_ip1.parquet").repartition("ip_start_int","ip_end_int")
#join with another dataset 200 MB
brandsurvey_feed = de_pulse_ip.join(vdna_bs_feed_ip_int, [vdna_bs_feed_ip_int.ip_int_cast > de_pulse_ip.ip_start_int,vdna_bs_feed_ip_int.ip_int_cast <= de_pulse_ip.ip_end_int], how='right')
注:輸入文件是一個單一的gzip文件。它的解壓縮大小是3.2GB
你有多少執行者?你爲每個執行器分配了多少內存?解壓縮的輸入文件的大小是多少? – Yaron
解壓縮的文件是3.2 GB。爲了分配內存,我嘗試了幾個選項1.我沒有做任何內存,只使用了默認值2.然後我爲每個執行程序使用了6GB,但仍然失敗。 – braj259
您使用了多少個6GB RAM的執行器? – Yaron