python – Dataproc hive操作符未运行存储在存储桶中的hql文件

我试图使用气流脚本运行存储在云存储中的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)
上一篇:如何从Airflow中的Big Query获取SQL查询的结果?


下一篇:python – 以DAG方式调度作业