JRI из Hive UDF/UDAF

У меня есть R, установленный на некоторых узлах данных, и я могу написать задания Map Reduce для вызова R через JRI.

Затем, чтобы заставить R вызываться через запрос куста, я переопределяю метод terminate в GenericUDAFEvaluator и создаю там объекты Rengine.

Старая работа с картами требовала от меня выполнения -Dmapred.child.env="R_HOME=/usr/lib64/R", прежде чем она заработает.

Когда я делаю это в улье (через 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


person shubh    schedule 29.05.2013    source источник


Ответы (1)


Я удалил кавычки из оператора set, и это сработало. Ну действуй:

set mapred.child.env=abc=pqr;

select count(*) from some_table limit 10;

Это работает

person shubh    schedule 30.05.2013