2016-11-16 2 views
0

저는 ElasticSearch-2.4.1 CDH5.5를 사용하고 있습니다. 하이브 테이블을 만들고 아래 쿼리를 사용하여 하이브 테이블 데이터를 ElasticSearch로 푸시하려고합니다.
Apache 하이브에서 ElasticSearch로 데이터를로드 할 수 없습니다.

CREATE EXTERNAL TABLE test1_es(
    id string, 
    timestamp string, 
    dept string)<br> 
ROW FORMAT SERDE 'org.elasticsearch.hadoop.hive.EsSerDe' 
STORED BY 'org.elasticsearch.hadoop.hive.EsStorageHandler' 
LOCATION 
    'hdfs://quickstart.cloudera:8020/user/cloudera/elasticsearch/test1_es' 
TBLPROPERTIES ( 'es.nodes'='localhost', 
'es.resource'='sample/test1', 
'es.mapping.names' = 'timestamp:@timestamp', 
'es.port' = '9200', 
'es.input.json' = 'false', 
'es.write.operation' = 'index', 
'es.index.auto.create' = 'yes' 
);<br> 
INSERT INTO TABLE default.test1_es select id,timestamp,dept from test1_hive; 

내가 작업 트래커 URL에 아래의 오류 받고 있어요 "

Failed while trying to construct the redirect url to the log server. Log Server url may not be configured. <br> 
java.lang.Exception: Unknown container. Container either has not started or has already completed or doesn't belong to this node at all. " 

은 하이브 터미널에서 "FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask" 발생합니다.

내가 좋아하는 포럼에 언급 된 모든 단계를 시도 hive-site.xml의 /usr/lib/hive/bin/elasticsearch-hadoop-2.0.2.jar를 포함하여 HIVEAUXJARS_PATH에 ES-hadoop jar를 추가하고 /usr/lib/hadoop/elasticsearch-yarn-2.1에 복사 된 jar 파일을 복사합니다. .0.Beta3.jar 또한 수정 방법을 제안 해주세요. 오류. 사전에


감사합니다, 스리 나스

답변

0

저도 같은 문제를 다루고있어, 내가 하이브로 던져 실행 오류가 구문 분석 할 수없는 문자열 유형의 타임 스탬프 필드에 의해 발생 발견했다. 문자열 형식의 timestamp 필드가 es에 제대로 매핑 될 수 있는지 궁금 해서요. 그렇지 않으면 근본 원인이 될 수 있습니다.

현재, 오류에 대한 자세한 정보는 hadoop MR 로그로 이동해야합니다.

0
REATE EXTERNAL TABLE test1_es(
    id string, 
    timestamp string, 
    dept string)<br> 
ROW FORMAT SERDE 'org.elasticsearch.hadoop.hive.EsSerDe' 
STORED BY 'org.elasticsearch.hadoop.hive.EsStorageHandler' 
TBLPROPERTIES ........... 

위치

필요하지 않습니다
관련 문제