scala - 写入 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 版本。
请建议
解决方案
推荐阅读
- python - 使用 gzip 压缩将 pandas df 保存到类似文件的对象中
- javascript - Rotate() 不是函数
- python - 当我执行 unittest 命令“python3 -m unittest filepath/filename.py”时,它显示配置错误
- linux - 如何在linux中获取以特定数字结尾的数字
- cakephp - 如果路由以某个字符串/字符开头,则更改路由
- graphviz - 使用 Graphviz 从 PNG 到 DOT 的转换
- blazor - 启用 RCL 的 CSS 隔离以在 blazor 服务器中工作
- vue.js - 根据输入类型在 Vue 3 上编写了一个程序:范围,不能按预期工作
- javascript - 为什么 jumbotron 类在 bootstrap 5 版本中不起作用?
- python - 富格式后无法重置颜色