hive elasticsearch에 데이터 쓰기
2907 단어 빅데이터 기술
1. 의존 패키지 추가
우선elasticsearch의 버전을 확정하고es버전이 6.1.2이면jar패키지:elasticsearch-hadoop-6.1.2로 사용할 수 있습니다.jar, 인터넷에는 6.1.2 버전의jar 패키지보다 높으면 (자체 검증) 된다고 합니다.httpclient와 관련된 오류를 보고할 때 org를 추가해야 합니다.apache.commons.httpclient 이거jar가방.먼저 하이브에 들어가서 다음 명령을 통해 의존 패키지를 추가합니다.
add jar yourPath/elasticsearch-hadoop-6.1.2.jar;
물론 다른 추가 방식도 있습니다. 구체적으로 볼 수 있습니다https://www.elastic.co/guide/en/elasticsearch/hadoop/current/hive.html#hive
2. 하이브 외부 테이블을 만듭니다.
create external table if not exists es_cmb_test(
ptf_id string,
ptf_name string,
bill_date string,
acc_status string
)
STORED BY 'org.elasticsearch.hadoop.hive.EsStorageHandler'
TBLPROPERTIES(
'es.resource' = 'test/es_cmb_test',
'es.nodes'='192.168.1.1',
'es.port'='9200',
'es.mapping.id' = 'ptf_id',
'es.index.auto.create' = 'true',
'es.write.operation'='upsert');
TBLPROPERTIES 뒤에 ES의 속성을 설정합니다(예:'es를 통해).mapping.id’ = ‘ptf_id'지정 id.통과write.operation ='upsert'는 삽입이나 업데이트 작업을 실행합니다. (id가 존재하면)상세한 상황은 조사할 수 있다https://www.elastic.co/guide/en/elasticsearch/hadoop/current/configuration.html
3. 데이터 삽입
insert overwrite table es_cmb_test
select
ptf_id,
ptf_name,
bill_date,
acc_status
from test.cmb_test;
어떤 사람이 실험을 한 적이 있는데 다음과 같은 결론을 얻었다. 테스트의 중요한 결론: 1.elasticsearch 필드가 비교적 많을 때, 여러 개의hive 맵을 만들어서 각각 쓰기 2.Hive는elasticsearch의 기록을 삭제할 수 없습니다. 삽입과 업데이트만 가능합니다.Hive의 insert into와 insert overwrite가 elasticsearch를 조작할 때 결과는 같다
참고
1、https://www.elastic.co/guide/en/elasticsearch/hadoop/current/hive.html 2、http://blog.csdn.net/ltlf_21/article/details/78614970
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
spark2.0+hadoop2.7.1 단순 배포hadoop이 정상적으로 배치되었음을 보증합니다. 다음은spark배치에 대해 작은 필기를 하겠습니다. 1. scala-2.11.8.tgz 1) tar-xvzf scala-2.11.8 mv scala-2.11.8/us...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.