首页 > 解决方案 > 写入 Hive 表中的许多文件时出现内存不足问题

问题描述

在循环将数据帧内容写入配置单元表时,我们遇到了 Spark 的内存不足问题。

我们使用的代码

df.write.insertInto(hiveTable);

我们得到了一个例外

java.lang.OutOfMemoryError:超出 GC 开销限制。

我们将内存配置为

--executor-memory 10g and num-executors 6

当希望激发 UI 应用程序不超过 70MB 时,驱动程序内存为 7 到 10 MB,所有执行程序内存为 60MB。

与纱线 AM 相关的东西。

我们已经改变了配置

--conf "spark.hadoop.parquet.enable.summay-metadata=false"

通过这种更改,我们提高了性能,但是当我们增加对同一个配置单元表的写入次数时,它又失败了

我们使用 spark-submit 命令在客户端模式下运行 spark 应用程序。我们使用 cloudera 1.6.0 作为 spark 版本。

请建议

标签: scalaapache-sparkhiveparquet

解决方案


推荐阅读