2

我在一些数据节点上安装了 R,并且可以编写 Map reduce 作业以通过 JRI 调用 R。

接下来,为了通过配置单元查询调用 R,我覆盖了 GenericUDAFEvaluator 中的 terminate 方法并在那里创建 Rengine 对象。

旧的映射工作要求我-Dmapred.child.env="R_HOME=/usr/lib64/R"在它可以工作之前完成。

当我在 hive 中执行此操作(通过 set mapred.child.env="R_HOME=/usr/lib64/R"; )然后运行查询时,作业在设置时失败。

更一般地说,这从蜂巢成功:

 select count(*) from some_table limit 10;

但这失败了:

 set mapred.child.env='abc=pqr';
 select count(*) from some_table limit 10;

我有hive-hwi-0.9.0-cdh4.1.1.jarhadoop-2.0.0-cdh4.1.1

4

1 回答 1

1

我从 set 语句中删除了引号,它起作用了。这样做:

set mapred.child.env=abc=pqr;

select count(*) from some_table limit 10;

这有效

于 2013-05-30T16:36:13.520 回答