を使用してハイブパーティションテーブルの上に新しいものと古いデータを交換することは、あなたがpysparkを使用して、特定のハイブのパーティション上の新しいデータで古いデータを交換するために私を導いでした(データフレーム)Pyspark:データフレーム
私はハイブパーティションテーブルを持って、パーティション郡によって。
毎月私はいくつかの郡の記録を取得します。古いデータをそのパーティションの新しいデータで置き換えたいと思っていました。
私はpysparkを使ってスクリプトを開発し、データフレーム内の特定のパーティションに新しいデータをロードしました。今、古いデータをそのパーティションだけの新しいデータに置き換えたいです(ベーステーブルが大きいので)
私はそのパーティションを削除して新しいデータフレームを追加しようとしました。しかし、これは動作していないようです(古い+新しいデータの両方を持っています)。 "Overwrite"はテーブルを削除します。
特定のパーティションだけで古いデータを新しいデータ(new_dataframe)に置き換える方法はありますか?
私が試してみました以下のコード見つけてください: sqlContext.sql new_dataframe.write.mode(+パート1 + ')' '=パーティションを削除db.tblテーブルを変更(パーティションを')( "追加/上書き").format(" parquet ")。partitionBy(" partition ")。saveAsTable( 'db.tbl')
sparkではいくつかのアプローチをお勧めしますか?
私はグーグルでHDFSでパーティションファイルを削除するようなコメントを見ました。私はこれを良いアプローチとは見ていない。 もう1つは、ハイブクエリを実行することです。そのパーティションに上書きを挿入します。これはハイブサイドにあります。
sparkに類似の機能はありますか?
ありがとうございます。