我在某些数据节点上安装了R,并且可以编写Map reduce作业以通过JRI调用R.
接下来,为了通过hive查询调用R,我覆盖GenericUDAFEvaluator中的terminate方法并在那里创建Rengine对象。
旧的mapred工作要求我在-Dmapred.child.env="R_HOME=/usr/lib64/R"
工作之前完成。{/ p>
当我在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
答案 0 :(得分:1)
我从set语句中删除了引号并且它有效。所以:
set mapred.child.env=abc=pqr;
select count(*) from some_table limit 10;
这有效