2

我正在尝试将自定义环境变量传递给 Hive 转换中使用的可执行文件(以下示例中的 my-mapper.script),例如:

SELECT
   TRANSFORM(x, y, z)
   USING 'my-mapper.script'
FROM
(
   SELECT
      x, y, z
   FROM
      table
)

我知道在 Hadoop 流中这可以使用

-cmdenv EXAMPLE_DIR=/home/example/dictionaries/

但我不知道如何在 Hive Transform/MapReduce 中执行此操作。

有任何想法吗?

4

2 回答 2

2

你可以用一个简单的 2 行 bash 脚本来包装你的脚本来设置环境。例如

#!/bin/sh
export FOO=boo
my-mapper.script

然后在查询中使用这个脚本

USING 'wrapper.sh'

my-mapper.script 将在环境中看到FOO(值为“boo”)。

于 2013-05-07T14:28:26.370 回答
0

你在寻找这样的东西吗?

% hive -hiveconf CURRENT_DATE='2012-09-16' -f test.hql
于 2013-05-02T13:46:31.007 回答