【发布时间】:2023-03-13 15:40:02
【问题描述】:
我是 Google 作曲家和 Apache 气流的新手。
我正在尝试通过创建 DAG 来查询 Bigquery。
import datetime
import airflow
from airflow.operators import bash_operator
from airflow.contrib.operators import bigquery_operator
YESTERDAY = datetime.datetime.now() - datetime.timedelta(days=1)
default_args = {
'owner': 'me',
'depends_on_past': False,
'email': [''],
'email_on_failure': False,
'email_on_retry': False,
'retries': 1,
'retry_delay': datetime.timedelta(minutes=5),
'start_date': YESTERDAY,
}
with airflow.DAG(
'composer_test_dag',
'catchup=False',
default_args=default_args,
schedule_interval=datetime.timedelta(days=1)) as dag:
bq_recent_questions_query = bigquery_operator.BigQueryOperator(
task_id='bq_weather_query',
bql="""
SELECT owner_display_name, title, view_count
FROM `bigquery-public-data.stackoverflow.posts_questions`
ORDER BY view_count DESC
LIMIT 100
""",
use_legacy_sql=False)
这是正确的方法吗? 如何从中获取查询结果?
【问题讨论】:
-
你绝对需要使用 Airflow/Composer 吗?这很难、复杂且昂贵。另一种选择是使用 Cloud Scheduler + Cloud Build。更容易......而且更便宜。
标签: google-bigquery airflow directed-acyclic-graphs