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 运算符的主要内容,如果未能解决你的问题,请参考以下文章

Apache Atlas 和 Airflow 集成

Apache Airflow单机/分布式环境搭建

Apache Airflow - 添加 Google 身份验证

在Conda环境中安装Apache-Airflow

Apache Airflow 徽标路径

选择 Apache Oozie 或 Apache Airflow 哪一个?需要比较