0

我正在使用 aws 的 emr ruby​​ cli 生成 Hadoop 集群,并且我试图在托管在其他地方的 HIVE 脚本中包含要使用的参数,如下所示:

./elastic-mapreduce --create ... --args -d,DT=2013-01-26

'DT' 令人满意地显示在我的 HadoopJarStep.Args 数组中,因此我尝试将其包含在 HIVE 脚本中,如下所示:

...

tblproperties(
  'dynamodb.table.name' = ${DT},
  ...

但我很快就明白了:

Parse Error: line 8:28 mismatched input '$' expecting StringLiteral near '=' in specifying key/value property

我应该如何在我的 HIVE 脚本中正确包含参数?

4

1 回答 1

2

我不确定为什么您当前的方法不起作用,但我已经成功:

./elastic-mapreduce --create ... --args "-hiveconf,DT=2013-01-26"

并在配置单元脚本中:

tblproperties(
    "dynamodb.table.name" = "${hiveconf:DT}",
    ...
)

希望这可以帮助。

于 2013-01-30T22:07:08.037 回答