我在一些数据节点上安装了 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.jar
和hadoop-2.0.0-cdh4.1.1