2

BigQuery ビューを使用して BigQuery テーブルから昨日のデータを取得し、Dataprep を使用して日付分割テーブルに書き込もうとしています。

私の最初の問題は、Dataprep がDATE型列を正しく取得できず、それらをTIMESTAMP機能するように変換することでした (Elliot に感謝)。

ただし、Dataprep を使用して出力 BigQuery テーブルを設定する場合、次の 3 つのオプションしかありません: AppendTruncateまたはDrop既存のテーブル。テーブルが日付パーティション分割されている場合、Truncateそれを使用すると、そのパーティション内のデータだけでなく、既存のすべてのデータが削除されます。

私が使用すべき別の方法はありますか?別の方法として、Dataprep を使用してテーブルを上書きしてから、Cloud Composer を使用して SQL を実行し、このデータを日付分割テーブルにプッシュします。理想的には、Dataprep だけでこれを行いたいのですが、今のところそれは不可能のようです。

BigQuery テーブル スキーマ:

ここに画像の説明を入力

パーティションの詳細:

ここに画像の説明を入力

取り込んでいるデータは単純です。1 つのフロー:

+------------+--------+
|    date    |  name  |
+------------+--------+
| 2018-08-08 | Josh1  |
| 2018-08-08 | Josh2  |
+------------+--------+

他のフローでは:

+------------+--------+
|    date    |  name  |
+------------+--------+
| 2018-08-09 | Josh1  |
| 2018-08-09 | Josh2  |
+------------|--------+

どちらの場合もデータを上書きします。

4

1 に答える 1