【发布时间】:2019-09-26 01:40:28
【问题描述】:
我在使用 Upsert(插入和更新记录)逻辑将 4MB 文件加载到配置单元表时遇到性能问题。作为此负载的一部分,我们有两个阶段 -
第 1 阶段 - 将 4MB 文本文件加载到表 A
第 2 阶段 - 通过从返回大约 600 万条记录的表 A 中排除 source_code NOT IN ("ABC") 来加载表 B
val finalizedDf= sparkSession.sql(s"""select * from $tableA where $source_code not in ("ABC")""")
finalizedDf.write.format("parquet").mode("Overwrite").insertInto(tableB)
在插入表 B 时,由于内存限制超过执行程序内存开销,作业失败。此外,负载运行超过 5 小时。请针对上述情况推荐性能转向技巧:)
【问题讨论】:
标签: scala apache-spark hadoop hive hdfs