我在纱线上运行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