Hive To Elasticsearch

本文介绍如何使用特定插件将Hive中的数据同步到Elasticsearch中,包括在Elasticsearch中添加表、在Hive创建外部表及插入数据等步骤,并详细解释了创建表时的配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

hive数据往elasticsearch导入的时候,需要用到一个插件。详情可以查看官网

 

具体的用法是这样:

  1. 在elasticsearch添加表。
  2. 在hive创建外部表
  3. 往hive插入数据

 

关键的步骤是在hive创建表的时候的定义:

 

CREATE EXTERNAL TABLE `report`(
  `id` string, 
  `rep_date` string COMMENT 'from deserializer', 
  `hour_id` int COMMENT 'from deserializer', 
  `channel_id` string COMMENT 'from deserializer', 
  `activate_num` int COMMENT 'from deserializer')
ROW FORMAT SERDE 
  'org.elasticsearch.hadoop.hive.EsSerDe' 
STORED BY 
  'org.elasticsearch.hadoop.hive.EsStorageHandler' 
WITH SERDEPROPERTIES ( 
  'serialization.format'='1')
TBLPROPERTIES (
  'es.index.auto.create'='false', 
  'es.nodes'='192.168.1.2:9200', 
  'es.resource'='report/detail_date', 
  'es.mapping.id' = 'id'
  )

 

 

如果你不需要指定elasticsearch的_id,那么'es.index.auto.create'='true',并且删掉es.mapping.id。默认的字段名一样,就可以实现导入。如果不一样,那么有'es.mapping.names'='hive_column:es_field'这样的用法。多列的话,就用英文逗号分隔。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值