2017-09-05 12 views
0

私はあなたに質問があります。 BigQueryにデータを読み込むDatabricksでETLを構築していて、ETLを実行する前にBigQueryテーブルを消去したい場合は、それが可能ですか?初心者の質問に申し訳ありません!ありがとう!!!Spark ETLからBigQueryテーブルをリセット

答えて

2

あなたがデータをロードすると、あなたがにロード何をどのテーブルで発生し制御するのに有用であるjobs.insertのconfiguration.loadプロパティの下で利用可能(他の多くの間で)二つの性質があります。

configuration.load.writeDisposition

は、

[オプション]接続先テーブルがすでに存在する場合に実行されるアクションを指定します。

以下の値がサポートされています:
WRITE_TRUNCATE:テーブルがすでに存在する場合、BigQueryはテーブルデータを上書きします。 WRITE_APPEND:テーブルが既に存在する場合、BigQueryはデータをテーブルに追加します。
WRITE_EMPTY:テーブルが既に存在し、データが含まれている場合、ジョブ結果に「重複」エラーが返されます。
デフォルト値はWRITE_APPENDです。

各アクションはアトミックで、BigQueryが正常にジョブを完了できる場合にのみ発生します。作成、切り捨て、および追加アクションは、ジョブ完了時に1つのアトミック更新として発生します。

configuration.load.createDisposition

[オプション]ジョブが新しい​​テーブルを作成するために許可されているかどうかを指定します。

以下の値がサポートされています。
CREATE_IF_NEEDED:テーブルが存在しない場合、BigQueryはテーブルを作成します。
CREATE_NEVER:テーブルは既に存在している必要があります。そうでなければ、ジョブ結果に 'notFound'エラーが返されます。
デフォルト値はCREATE_IF_NEEDEDです。

作成、切り捨て、および追加アクションは、ジョブ完了時に1つのアトミック更新として発生します。

ので、WRITE_TRUNCATEはあなたが

探しているものです
関連する問題