2016-10-05 19 views
1

すべてのタスクが成功した後に、データフレームからパーケージテーブルにデータを書き込むと、パーティション統計の更新時に処理が停止します。Spark Data Frame parquet tableへの書き出し - 遅いパーティション統計の更新

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) 

Myテーブルのカラム数は400を超え、> 1000です。 パーティションの統計情報を更新して高速化できるかどうかお知らせください。

答えて

1

ここで問題と感じるのは、> 400列のファイルのパーティションが多すぎます。ハイブで表を上書きするたびに、統計が更新されます。あなたのケースでは、1000個のパーティションの統計を更新しようとしますが、各パーティションには> 400個のカラムのデータがあります。

パーティションの数を減らしてください(別のパーティション列を使用するか、または日付列の場合は月単位でパーティション化することを検討してください)。パフォーマンスの大幅な変化を確認する必要があります。

+0

私は同じ問題があり、ディスクに書き込むときにパーティションの列を指定していません。私は何の統計が計算されているのか理解できませんでしたか?もっと説明できますか? –

関連する問題