df.write.partitionBy("par").format("orc").saveAsTable("mytable")
みなさんこんにちは、私はパーティションハイブテーブルとしてスパークデータフレームを保存するとき、プロセスは非常に非常に遅いです、誰もがなぜ知っているのですか?チューニングする必要があるパラメータはありますか?スパークデータフレーム
df.write.partitionBy("par").format("orc").saveAsTable("mytable")
みなさんこんにちは、私はパーティションハイブテーブルとしてスパークデータフレームを保存するとき、プロセスは非常に非常に遅いです、誰もがなぜ知っているのですか?チューニングする必要があるパラメータはありますか?スパークデータフレーム
データフレームパーティションがハイブパーティションと「整列」していないことが問題だと思います。これにより、ハイブパーティションごとに多数の小さなファイルが作成されます。これは、データ・データ・フレームの各パーティションにハイブ・パーティション用のデータが含まれているためです。
最初の同じ列にデータフレームを再パーティションしよう:
df.repartition("par").write.partitionBy("par").format("orc").saveAsTable("mytable")
b.rdd.getNumPartitions()= 1 b.repartition( "par")。rdd.getNumPartitions()= 200パーティションはなく、パーティション番号は1であり、反復操作では200である。パーティションの数が理由になることがありますか? –
'df.repartition( "パー")してみてくださいwrite.partitionBy( "パー")フォーマット( "ORC")saveAsTable(。。。 "mytable") ' –
テーブルを書く実際のプロセスは遅いのですか?テーブルを書くとき、以前のすべての変換が最初に適用されるので(怠惰なので)。だから、あなたが見ているのは、文章だけでなく、全体のピプリンの時間かもしれません。 –
私は試してみるつもりですが、まず、なぜdf.repartition( "par")操作がうまくいくのですか?あなたはそれを説明できますか? –