BigQuery ビューを使用して BigQuery テーブルから昨日のデータを取得し、Dataprep を使用して日付分割テーブルに書き込もうとしています。
私の最初の問題は、Dataprep がDATE
型列を正しく取得できず、それらをTIMESTAMP
機能するように変換することでした (Elliot に感謝)。
ただし、Dataprep を使用して出力 BigQuery テーブルを設定する場合、次の 3 つのオプションしかありません: Append
、Truncate
または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 |
+------------|--------+
どちらの場合もデータを上書きします。