无法覆盖 Google Cloud Dataproc 查询的输入值

Not able to override the input value for Google Cloud Dataproc query

我们正在将现有作业从 Hadoop 迁移到 GCP 环境。因此,我们有一个要求,需要将现有的直线命令更改为 Cloud Dataproc。在 Hadoop 环境中,我们使用以下命令在 Hive 中查询 table:

beeline -u BEELINE_URL --hivevar HIVE_CORE_DB=$HIVE_CORE_DB --hivevar HIVE_CORE_TBL=$HIVE_CORE_TBL -f table.hql

输入文件table.hql包含以下信息:

select count(*) from ${hivevar:HIVE_CORE_DB}${hivevar:HIVE_CORE_TBL};

当我为 Cloud Dataproc 命令转换相同代码时,我使用以下命令:

gcloud dataproc jobs submit hive --cluster=cluster_name --region=region_name --params HIVE_CORE_DB=$HIVE_CORE_DB --params HIVE_CORE_TBL=$HIVE_CORE_TBL --file=table.hql

并且 table.hql 文件再次包含与之前相同的输入,即

select count(*) from ${hivevar:HIVE_CORE_DB}${hivevar:HIVE_CORE_TBL};

但是,我无法覆盖输入文件中包含的变量值 table.hql.

出现以下错误:

Error: Error while compiling statement: FAILED: ParseException line 1:15 cannot recognize input near '$' '{' 'hivevar' in table name (state=42000,code=40000)

TIA

无需在单独的 --params 标志下指定输入值,您只需使用一个。

尝试更改

--params HIVE_CORE_DB=$HIVE_CORE_DB --params HIVE_CORE_TBL=$HIVE_CORE_TBL

你的一部分命令

--params HIVE_CORE_DB=$HIVE_CORE_DB,HIVE_CORE_TBL=$HIVE_CORE_TBL.