我试图使用气流脚本运行存储在云存储中的hql文件,有两个参数可以通过它们将路径传递给DataprocHiveOperator:
>查询:’gs://bucketpath/filename.q’
发生错误 – 无法识别’gs’附近的输入:”/’
> query_uri:’gs://bucketpath/filename.q’
发生错误:PendingDeprecationWarning:将无效参数传递给DataProcHiveOperator.在Airflow 2.0中将删除对传递此类参数的支持.无效的参数是:
* args :()
** kwargs:{‘query_uri’:’gs://poonamp_pcloud/hive_file1.q’
使用Query param,我已成功运行配置单元查询(从表中选择*)
有没有办法通过dataprochiveoperator运行存储在云存储桶中的hql文件?
解决方法:
那是因为你同时使用查询和query_uri.
如果您使用文件查询,则必须使用query_uri和query = None或者您可以忽略编写查询.
如果您使用内联查询,则必须使用查询.
以下是查询文件的示例.
HiveInsertingTable = DataProcHiveOperator(task_id='HiveInsertingTable',
gcp_conn_id='google_cloud_default',
queri_ury="gs://us-central1-bucket/data/sample_hql.sql",
cluster_name='cluster-name',
region='us-central1',
dag=dag)