2016-07-07 2 views
0

をテーブルを作成します。私はテーブルとしてPySparkデータフレームを保存しようとしているテーブルに挿入するか、一つのコマンドから

myDf.write.saveAsTable("myDf") 

しかし、私は二回のコードを実行した場合、私は

u'Table `myDf` already exists.;' 

を取得した場合私はこのようにそれを保存します。

myDf.write.inserInto("myDf") 

私は、このエラーが発生します。u'Table not found: myDf;'

テーブルを保存すると、コードを何回実行してもエラーは発生しません。

答えて

0

テーブルが存在するかどうかを確認するためにif conditionを入れないのはなぜですか?

場合によっては、registerDataFrameAsTable(df, tableName)を使用すると、指定されたDataFrameをカタログの一時テーブルとして登録することができます。これはSQLContextのインスタンスの存続期間中のみ存在します。

詳細については、documentationを参照してください。 これを使用すると、コードを何回でも実行できるようになり、エラーは発生しなくなります。

0
myDf.write.mode("overwrite").saveAsTable("myDf") 

それは(私にすべての時間に発生)シナリオが、ここであなたがもう少し必要がある場合でrefである「ああ、私はそれはとても簡単です知っている希望」明らかに思えます。

+1

これがうまくいくかもしれませんが、なぜこれが機能するか説明した方が良いでしょう。 –

+0

リンクを参照として追加しました。 – ShuaiYuan