我正在使用 BigQuery 视图从 BigQuery 表中获取昨天的数据,然后尝试使用 Dataprep 写入日期分区表。
我的第一个问题是 Dataprep 不会正确选择DATE
类型列,而是将它们转换为TIMESTAMP
工作(感谢 Elliot)。
但是,在使用 Dataprep 并设置输出 BigQuery 表时,您只有 3 个选项:Append
或Truncate
现有Drop
表。如果表是日期分区的并且您使用Truncate
它将删除所有现有数据,而不仅仅是该分区中的数据。
我应该使用另一种方法吗?我的替代方法是使用 Dataprep 覆盖表,然后使用 Cloud Composer 运行一些 SQL 将这些数据推送到日期分区表中。理想情况下,我只想用 Dataprep 来做这件事,但现在这似乎不可能。
BigQuery 表架构:
分区详情:
我正在摄取的数据很简单。在一个流程中:
+------------+--------+
| date | name |
+------------+--------+
| 2018-08-08 | Josh1 |
| 2018-08-08 | Josh2 |
+------------+--------+
在另一个流程中:
+------------+--------+
| date | name |
+------------+--------+
| 2018-08-09 | Josh1 |
| 2018-08-09 | Josh2 |
+------------|--------+
它在这两种情况下都会覆盖数据。