Airflow中确实有操作符可从BigQuery中的查询创建表。可以使用BigQueryOperator操作符来执行此操作。以下是示例代码:
from airflow import DAG
from airflow.contrib.operators.bigquery_operator import BigQueryOperator
from datetime import datetime
dag = DAG(
'create_table_from_query',
description='Airflow DAG to create a table from a BigQuery query',
schedule_interval='@once',
start_date=datetime(2021, 1, 1)
)
create_table_from_query = BigQueryOperator(
task_id='create_table_from_query',
sql='CREATE TABLE mydataset.newtable AS SELECT * FROM mydataset.oldtable',
use_legacy_sql=False,
dag=dag
)
create_table_from_query
在上面的示例中,我们定义了一个名为create_table_from_query的任务,并使用BigQueryOperator操作符指定了需要执行的SQL语句。在这里,我们将在mydataset.newtable中创建一个新表,并从mydataset.oldtable中选择所有的行和列。我们还指定了use_legacy_sql参数,以标记我们使用的语法类型。最后,我们将任务添加到DAG中,以便在调度时间执行。