来自Hive UDF/UDAF的JRI
我在一些数据节点上安装了R,可以编写MapReduce作业,通过JRI调用R 接下来,为了通过配置单元查询调用R,我覆盖GenericUDAFEvaluator中的terminate方法,并在那里创建Rengine对象 旧的mapred作业要求我先执行来自Hive UDF/UDAF的JRI,r,hadoop,hive,rjava,R,Hadoop,Hive,Rjava,我在一些数据节点上安装了R,可以编写MapReduce作业,通过JRI调用R 接下来,为了通过配置单元查询调用R,我覆盖GenericUDAFEvaluator中的terminate方法,并在那里创建Rengine对象 旧的mapred作业要求我先执行-Dmapred.child.env=“R_HOME=/usr/lib64/R”,然后才能工作 当我在配置单元中执行此操作(通过set mapred.child.env=“R_HOME=/usr/lib64/R”;)并运行查询时,安装时作业失败 更
-Dmapred.child.env=“R_HOME=/usr/lib64/R”
,然后才能工作
当我在配置单元中执行此操作(通过set mapred.child.env=“R_HOME=/usr/lib64/R”;)并运行查询时,安装时作业失败
更一般地说,这会从hive成功:
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
我从set语句中删除了引号,它成功了。我们也要这样做:
设置mapred.child.env=abc=pqr代码>
从一些表格限制10中选择计数(*)代码>
这很有效