Hive 통합 ElasticSearch

4567 단어 Hive

Hive 통합 ElasticSearch


역할: Hive 데이터를 Es에 직접 입력
  • Index 를 생성합니다
  • PUT bank_2 
    {
      "settings": {
        "number_of_shards": 5
        , "number_of_replicas": 1
      }
    }
    
  • Type의 매핑을 생성합니다
  • PUT bank_2/_doc/_mapping
    {
      "properties": {
        "fid":{
          "type": "keyword"
        },
        "tid":{
          "type": "keyword"
        },
        "counts":{
          "type": "long"
        },
        "sums":{
          "type": "double"
        },
        "years":{
          "type": "integer"
        }
      }
    }
    
  • es-hive 관련 Jar 패키지를 다운로드하여 HDFS에 넣습니다
  • wget https://artifacts.elastic.co/downloads/elasticsearch-hadoop/elasticsearch-hadoop-6.6.0.zip
    
  • Hive 관련 JAR 패키지 추가
  • hive > add jar hdfs://gl0:9000/jars/elasticsearch-hadoop-hive-6.5.1.jar;
    hive > add jar hdfs://gl0:9000/jars/commons-httpclient-3.1.jar;
    
  • ES 외부 테이블을 생성합니다
  • drop table yin_hang_ce_shi.elastic_bank_2;
    CREATE EXTERNAL TABLE yin_hang_ce_shi.elastic_bank_2(
       idcard string,
       fid string,
       tid string,
       counts bigint,
       sums double,
       years int
    )
    STORED BY 'org.elasticsearch.hadoop.hive.EsStorageHandler'
    TBLPROPERTIES('es.resource'='${index}',
    'es.nodes'='${ips}',
    'es.port'='9200',
    'es.index.auto.create'='TRUE',
    'es.mapping.id' = '${ ID }'
    );
    
  • 데이터 추가
  • insert into yin_hang_ce_shi.elastic_bank_2 (select * from yin_hang_ce_shi.table);
    

    좋은 웹페이지 즐겨찾기