我无法使用中的.sql文件进行查询 DataProcHiveOperator
. 尽管文档告诉我们可以使用文件进行查询。此处是文档的链接
当我直接给出查询时效果很好这是我的示例代码,可以直接编写查询:
HiveInsertingTable = DataProcHiveOperator(task_id='HiveInsertingTable',
gcp_conn_id='google_cloud_default',
query='CREATE TABLE TABLE_NAME(NAME STRING);',
cluster_name='cluster-name',
region='us-central1',
dag=dag)
使用文件查询:
HiveInsertingTable = DataProcHiveOperator(task_id='HiveInsertingTable',
gcp_conn_id='google_cloud_default',
query='gs://us-central1-bucket/data/sample_hql.sql',
query_uri="gs://us-central1-bucket/data/sample_hql.sql
cluster_name='cluster-name',
region='us-central1',
dag=dag)
示例\u hql.sql脚本没有错误。
它将文件位置作为查询读取,并将错误作为:
Query: 'gs://bucketpath/filename.q'
Error occuring - cannot recognize input near 'gs' ':' '/'
这里也提出了类似的问题
1条答案
按热度按时间ndasle7k1#
问题是因为你已经通过了
query='gs://us-central1-bucket/data/sample_hql.sql'
也。你应该正好通过一个
query
或者queri_uri
.问题中的代码同时包含了这两个属性,所以请删除它们
query
或使用以下代码: