在循环将数据帧内容写入配置单元表时,我们遇到了火花导致的内存不足问题。
我们使用的代码
df.write.insertInto(hiveTable);
我们得到了一个例外
java.lang.OutOfMemoryError:超出了GC开销限制。
我们将内存配置为
--executor-memory 10g and num-executors 6
当希望启动不占用超过70MB的UI应用程序时,驱动程序内存为7至10 MB,所有执行程序为60MB。
与纱线AM有关的东西。
我们将配置更改为
--conf "spark.hadoop.parquet.enable.summay-metadata=false"
通过此更改,我们提高了性能,但是当我们增加对相同配置单元表的写入次数时,它再次失败
我们使用spark-submit命令在客户端模式下运行spark应用程序。我们正在使用cloudera 1.6.0作为Spark版本。
请提出建议