【发布时间】:2022-01-08 18:52:05
【问题描述】:
我每天都在运行一个运行查询的气流作业,并将其保存到 Big Query 上的一个表中,然后另一个运算符将输出复制到 GCS。
现在,我注意到当文件大小超过 200 MB 时,Airflow 在 GCS 中将其划分为多个文件。这是该操作员的正常行为吗?如果是这样,我们如何覆盖它?
我读到当文件大小超过 1 GB 时,此运算符也会失败
下面是渲染的代码
start = DummyOperator(task_id="start")
output_table = f"test.{DESTINATION_DATASET}.test_{{{{ ts_nodash }}}}"
output_path = f"gs://test/test/{{{{ ts_nodash }}}}"
query = BigQueryOperator(
task_id=f"test1",
sql="sql/test.sql",
use_legacy_sql=False,
priority="BATCH",
write_disposition="WRITE_TRUNCATE",
destination_dataset_table=output_table,
params={
"event_dataset": EVENT_DATASET,
"days_to_query": 30,
},
bigquery_conn_id="google_cloud_default",
labels={"team": "test"},
dag=dag
)
export_to_gcs = BigQueryToCloudStorageOperator(
task_id=f"export_to_gcs",
source_project_dataset_table=output_table,
destination_cloud_storage_uris=[f"{output_path}/data-*.csv"],
compression="NONE",
export_format="CSV",
bigquery_conn_id="google_cloud_default",
labels={"team": "test"},
dag=dag,
)
start >> query >> export_to_gcs
【问题讨论】:
标签: google-cloud-platform google-bigquery google-cloud-storage airflow