Spark数据框写入镶木桌 - 在更新分区统计数据时速度慢

时间:2016-10-05 09:05:46

标签: apache-spark hive apache-spark-sql spark-dataframe

当我在所有任务成功完成后,将数据从dataframe写入镶木桌(已分区)时,进程将暂停更新分区统计信息。

16/10/05 03:46:13 WARN log: Updating partition stats fast for: 
16/10/05 03:46:14 WARN log: Updated size to 143452576
16/10/05 03:48:30 WARN log: Updating partition stats fast for: 
16/10/05 03:48:31 WARN log: Updated size to 147382813
16/10/05 03:51:02 WARN log: Updating partition stats fast for: 



df.write.format("parquet").mode("overwrite").partitionBy(part1).insertInto(db.tbl)

我的桌子有> 400列和> 1000个分区。 如果我们可以优化和加速更新分区统计信息,请告诉我。

1 个答案:

答案 0 :(得分:1)

我觉得这里的问题是>分区太多了400列文件。每次覆盖配置单元中的表时,都会更新统计信息。在您的情况下,它将尝试更新1000个分区的统计信息,并且每个分区再次具有>的数据。 400列。

尝试减少分区数量(使用其他分区列,或者如果日期列考虑按月分区),您应该能够看到性能发生重大变化。