Apache Airflow GoogleCloudStorageToBigQueryOperator - time_partitioning 运算符
Posted
技术标签:
【中文标题】Apache Airflow GoogleCloudStorageToBigQueryOperator - time_partitioning 运算符【英文标题】:Apache Airflow GoogleCloudStorageToBigQueryOperator - time_partitioning operator 【发布时间】:2020-08-09 15:21:22 【问题描述】:我正在使用 GoogleCloudStorageToBigQueryOperator。我想将 CSV 文件中的数据从 GCS 加载到 BQ,时间分区设置为“小时”。我用过参数:
time_partitioning = [‘hr’]
但是,数据是在 Day 级分区加载的。有人可以指出“time_partitioning”采用的参数吗?我想要小时级别的摄取分区。
【问题讨论】:
【参考方案1】:timePartitioning 实际上是 dict 对象,而不是列表。
:param time_partitioning: configure optional time partitioning fields i.e.
partition by field, type and expiration as per API specifications.
.. seealso::
https://cloud.google.com/bigquery/docs/reference/rest/v2/tables#timePartitioning
:type time_partitioning: dict
您可以参考上面的云链接来设置 time_partitioning 字段和类型(HOUR/DAY)。
GoogleCloudStorageToBigQueryOperator 类已弃用,因此您可以开始使用 GCSToBigQueryOperator 运算符。
【讨论】:
【参考方案2】:使用 GCSToBigQueryOperator 并传递如下参数解决了问题:
time_partitioning = 'type':'HOUR'
GoogleCloudStorageToBigQueryOperator 被弃用并被 GCSToBigQueryOperator 取代的详细信息可以在here找到。
【讨论】:
以上是关于Apache Airflow GoogleCloudStorageToBigQueryOperator - time_partitioning 运算符的主要内容,如果未能解决你的问题,请参考以下文章