2013-11-25 3 views
0

Я написал небольшой скрипт, чтобы выдвинуть данные в elasticsearch:толкая данные от свиньи elasticsearch

REGISTER /path/to/elasticsearch-hadoop-1.0.0.jar; 
DEFINE ESStorage org.elasticsearch.hadoop.pig.ESStorage('es.resource=sample/'); 
data = load 'somelog.log' using PigStorage('\n'); 
B = foreach data generate $0 as id; 
STORE B INTO 'sample' USING ESStorage('es.http.timeout = 5m ; es.index.auto.create = false'); 

Я получаю следующее сообщение об ошибке при запуске скрипта свинью из командной строки:

pig -Dpig.additional.jars=/path/to/elasticsearch-hadoop-1.0.0.jar script.pig 

Caused by: org.apache.pig.backend.executionengine.ExecException: ERROR 1070: Could not resolve org.elasticsearch.hadoop.pig.ESStorage using imports: [, java.lang., org.apache.pig.builtin., org.apache.pig.impl.builtin.] 
at org.apache.pig.impl.PigContext.resolveClassName(PigContext.java:653) 
at org.apache.pig.parser.LogicalPlanBuilder.validateFuncSpec(LogicalPlanBuilder.java:1257) 

Какие-либо предложения? Спасибо!

ответ

0

я на самом деле понял, что один сам, нужен ESStorage класс (это не было частью elasticsearch-Hadoop-1.0.0.jar)

Так что я получил, REGISTER «elasticsearch-hadoop-1.3.0.BUILD -SNAPSHOT.jar ' от git clone https://github.com/elasticsearch/elasticsearch-hadoop затем я побежал град, чтобы построить банки, и использовал elasticsearch-hadoop-1.3.0.BUILD-SNAPSHOT.jar в скрипке свиньи.

0

REGISTER /path/to/elasticsearch-hadoop-1.0.0.jar; должны указывать на правильный путь

как REGISTER /opt/elasticsearch-hadoop-1.3.0.M1/dist/elasticsearch-hadoop-1.3.0.M1-yarn.jar

вы можете запустить просто

свиньи -f script.pig

Смежные вопросы