我正在尝试使用airflow脚本运行存储在云存储中的hql文件,我们可以通过这两个参数将路径传递给DataprocHiveOperator:
Error occuring - cannot recognize input near 'gs' ':' '/'
Error occuring: PendingDeprecationWarning: Invalid arguments were passed to DataProcHiveOperator. Support for passing such arguments will be dropped in Airflow 2.0. Invalid arguments were:
*args: ()
**kwargs: {'query_uri': 'gs://poonamp_pcloud/hive_file1.q'
使用Query param,我已成功运行配置单元查询(select * from table
)
有没有办法通过dataprochiveoperator运行存储在云存储桶中的hql文件?
答案 0 :(得分:3)
那是因为您同时使用了 query
和 query_uri
。
如果您要使用文件查询,则必须使用 query_uri
和 query = None
,否则您可以忽略编写查询。
如果您使用的是 inline query
,则必须使用 query
。
以下是通过文件查询的示例。
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)
答案 1 :(得分:1)
query_uri
确实是从云存储运行hql文件的正确参数。但是,它仅添加到https://github.com/apache/incubator-airflow/pull/2402中的DataProcHiveOperator
。根据您收到的警告消息,我不认为您正在运行支持该参数的代码。更改不在最新版本(1.8.2)上,因此您需要等待另一个版本或从主分支中取出。