要使用Apache Airflow的GoogleCloudStorageToBigQueryOperator运算符并设置time_partitioning参数,可以按照以下步骤操作:
from datetime import datetime
from airflow import DAG
from airflow.operators import GoogleCloudStorageToBigQueryOperator
default_args = {
'start_date': datetime(2021, 1, 1),
'project_id': 'your-project-id',
}
dag = DAG(
dag_id='example_dag',
default_args=default_args,
schedule_interval=None,
)
gcs_to_bq_operator = GoogleCloudStorageToBigQueryOperator(
task_id='gcs_to_bq_task',
bucket='your-gcs-bucket',
source_objects=['path/to/file.csv'],
destination_project_dataset_table='your-project-id.dataset.table',
schema_fields=[{'name': 'name', 'type': 'STRING'}, {'name': 'age', 'type': 'INTEGER'}],
time_partitioning={'type': 'DAY', 'field': 'date'},
dag=dag,
)
在上述示例中,time_partitioning参数设置为{'type': 'DAY', 'field': 'date'},其中'type': 'DAY'表示按天进行分区,'field': 'date'表示使用名为'date'的字段作为分区字段。
gcs_to_bq_operator