hive向es推送数据
2024-08-24 16:43:41
第一步:首先要保证网络是通的,很多公司里子网遍布,要和运维和工程侧同事确认好网络是通的,es的地址可以通过curl es地址的方式测试一下。
第二步:下载需要的jar包,必须的是es-hadoop的包,可以在https://www.elastic.co/cn/downloads/下载,其他可能还需要,如果没有就等报错然后百度查吧。。。。
下载以后要传到hdfs一个地址,否则无法在hive中添加,用hdfs dfs -put命令。
第三步:在hive中添加jar包,ADD JAR hdfs://nmcluster/user/root/test/es_hadoop/elasticsearch-hadoop-hive-7.8.0.jar;
第四步:hive中建立es外部表
CREATE EXTERNAL TABLE hive_to_es_test (
user string
)
STORED BY 'org.elasticsearch.hadoop.hive.EsStorageHandler'
TBLPROPERTIES(
'es.nodes' = 'es地址',
'es.index.auto.create' = 'true',
'es.resource' = '索引/类型r',
'es.mapping.id' = 'use_year_code',
'es.write.operation'='upsert'--如果这里是upsert的话,上边的id一定要指定,否则可以不用设置
);
es.nodes表示es的节点,多个用“,”分开;
es.index.auto.create表示如果索引不存在自动创建;
es.resource表示指定的索引和类型;
es.mapping.id表示es的_id对应的字段;
es.mapping.names表示其他字段的对应(可以不写,插入时按顺序依次对应即可);
es.write.operation表示如果id重复就更新数据;
第五步:hive中的需要同步的数据表,准备好,如果不写names配置项,需要和es中的字段顺序对应
第六步:推送数据
INSERT OVERWRITE TABLE hive_to_es_test SELECT *
FROM test_app.to_es;
注意事项:
数据类型要把持一致
最新文章
- python排序之一插入排序
- spring boot开发入门
- 得静下心来看python了。
- 重读高程3: c2-3 script元素
- html、url、http、servlet&;jsp之间千丝万缕的联系
- mysql的安装以及基本操作
- 学习SQL的点点滴滴(三)-修改数据库的兼容级别
- x5设置经典门户登录
- HDU 5800 To My Girlfriend 背包
- C:进制
- 199bit总结的影响最大的十个算法
- javaweb jsp页面上传excel文件
- 为什么OC语言很难
- 将数据动态加载到Echarts饼图中
- Python中使用Mysql(安装篇)
- 【oracle】ORA-12541:TNS:no listener
- Ajax_Json
- LFU缓存
- 6.ZigZag Conversion(Graph, traverse)
- shell cut
热门文章
- C++实现任意进制的相互转换
- JDK 15已发布,你所要知道的都在这里!
- linux下iptables原理
- 20190713_发布网站的时候报错:无法完成向远程代理 URL 发送请求 基础连接已经关闭 发送时发生错误
- PyQt(Python+Qt)学习随笔:QTableView中数据行高和列宽的调整方法
- 如何利用Excel快速批量生成想要的代码
- 实验吧 Once more
- System.out.println();快捷键
- 商品sku的排列组合
- 返回sourceString 中出现的第一个 searchString 的索引