HiveContextでPySparkを使ってSCD1とSCD2を適用したい。私のアプローチでは、私はインクリメンタルなデータとターゲットテーブルを読んでいます。読んだ後、私はupsertアプローチのためにそれらに参加しています。すべてのソースデータフレームに対してregisterTempTableを実行しています。私は最終的なデータセットをターゲットテーブルに書き込もうとしています。読み込まれたテーブルに上書きを書き込むことができないという問題に直面しています。Spark HiveContext:Insert読み込んだ同じテーブルを上書きする
解決策をご提案ください。私は中間のデータを物理的な表に書き込んで、それを再び読みたいとは思わない。
任意のプロパティまたはそれから読み込まれ、テーブルの上に依存関係を維持することなく、最終的なデータセットを保存する方法はあります。このようにして、テーブルを上書きすることができます。
お勧めします。
をターゲットに移動するためにHDFS I/Oを使用することができます。 Spark Contextを停止してから、上書きを実行して新しいテーブルを削除してください。 –
ありがとうございます!しかし、私は物理的なテーブルを使わずにそれをやりたかったのです。ソーステーブルから依存関係を取り除く方法はありますか?そのような解決策があれば、永続化またはキャッシュのようなものがあります。 –
ソーステーブルをキャッシュすることはできますが、メモリに完全に収まる必要があります –