Spark データフレームを Hive の動的パーティション テーブルとして保存する 質問する

Spark データフレームを Hive の動的パーティション テーブルとして保存する 質問する

私はcsvファイルからデータフレームに読み込むサンプルアプリケーションを持っています。データフレームは、メソッドを使用してparquet形式でHiveテーブルに保存できます。df.saveAsTable(tablename,mode)

上記のコードは問題なく動作しますが、各日のデータが多すぎるため、作成日 (テーブル内の列) に基づいて Hive テーブルを動的にパーティション分割する必要があります。

データフレームを動的に分割してHiveウェアハウスに保存する方法はありますか?挿入ステートメントをハードコーディングするのは避けたいのですが、hivesqlcontext.sql(insert into table partittioin by(date)....)

質問は以下の拡張として考えることができます:DataFrame を Hive に直接保存するにはどうすればよいですか?

どのような助けでも大歓迎です。

ベストアンサー1

それは次のように機能すると思います:

df年、月、その他の列を持つデータフレームです

df.write.partitionBy('year', 'month').saveAsTable(...)

または

df.write.partitionBy('year', 'month').insertInto(...)

おすすめ記事