Hive與es數據的導入和導出

1. 將兩個jar包添加到Hive的 hive.aux.jars.path目錄

<dependency>
	<groupId>org.elasticsearch</groupId>
	<artifactId>elasticsearch-hadoop</artifactId>
	<version>6.6.2</version>
</dependency>
<dependency>
	<groupId>commons-httpclient</groupId>
	<artifactId>commons-httpclient</artifactId>
	<version>3.1</version>
</dependency>

在hive中建立es索引的外聯表

create external table charge_current_frequency_es
(
    province               string,
    vehicleType            string,
    vin                    string,
    chargeType             string,
    chargeCurrentFrequency array<bigint>,
    statis_time            string
) STORED BY 'org.elasticsearch.hadoop.hive.EsStorageHandler'
    location '/warningplatform.db/ads/charge_current_frequency_es'
    TBLPROPERTIES ('es.resource' = 'charge_current_frequency/charge_current_frequency',
        'es.mapping.names' =
                'province:province,vehicleType:vehicleType,vin:vin,chargeType:chargeType,chargeCurrentFrequency:chargeCurrentFrequency,statis_time:time',
        'es.nodes' = '192.168.11.29',
        'es.port' = '9200'
        );
  • 指定hive與es字段的匹配規則
  • hive中的string能夠寫入es的date類型,格式能夠是yyyy-MM-dd HH:mm:ss,可是hive讀取es數據的時候,不能以string類型去接收es中date類型且格式爲yyyy-MM-dd HH:mm:ss的字段。
  • 對hive的插入和查詢,即爲對es索引的插入和查詢。

3. 類型匹配

相關文章
相關標籤/搜索