尝试使用pythonoperator(使用BigQueryHook)运行查询
def CheckIncomingRecords(**context):
sql = context['templates_dict']['sql']
logging.info("sql passed is : {}".format(sql))
bq = BigQueryHook(bigquery_conn_id='bigquery_default',
use_legacy_sql=False)
conn = bq.get_conn()
cursor = conn.cursor()
results = cursor.execute(sql)
return results
出现以下错误:TypeError: init ()得到了意外的关键字参数'use_legacy_sql'
使用1.9.0-composer。检查了源代码,无法找到为什么不认识文档中提到的观点。请指教
答案 0 :(得分:2)
您得到的错误是因为在 Airflow 1.9.0 中,BigQueryHook中仅存在两个参数:
源代码:https://github.com/apache/airflow/blob/1.9.0/airflow/contrib/hooks/bigquery_hook.py#L45-L50
float: left;
Airflow 1.9.0 的文档:https://airflow.readthedocs.io/en/1.9.0/integration.html#bigqueryhook
已添加到 Airflow 1.10.0 中的BigQueryHook init()中。
Airflow 1.10.0 的文档:https://airflow.readthedocs.io/en/1.10.0/integration.html#bigqueryhook <li>'s