当我在所有任务成功完成后,将数据从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个分区。 如果我们可以优化和加速更新分区统计信息,请告诉我。
答案 0 :(得分:1)
我觉得这里的问题是>分区太多了400列文件。每次覆盖配置单元中的表时,都会更新统计信息。在您的情况下,它将尝试更新1000个分区的统计信息,并且每个分区再次具有>的数据。 400列。
尝试减少分区数量(使用其他分区列,或者如果日期列考虑按月分区),您应该能够看到性能发生重大变化。