关于如何将Hive中的数据导入ES,官方的网站有了详细的介绍。
我这里用的ES的版本为5.6.14。CDH集群用的是cdh6.1.0。
官网地址
es-hadoop的GitHub地址
一. 主要分为三个步骤
- 引入相关的JAR包。
- 建立外部表。
- 将清洗后的数据写入外部表。
二. 下面详细介绍
1.引入JAR包
引入JAR包的方式比较多,这里参考博主qianshanding0708的文章:https://blog.csdn.net/qianshangding0708/article/details/50381966
(1)在hive shell中加入
ADD JAR /home/leehom/jar/elasticsearch-hadoop-7.5.1.jar
连接方式 | 是否有效 |
---|---|
Hive Shell | 不需要重启Hive服务就有效 |
Hive Server | 无效 |
(2) Jar放入${HIVE_HOME}/auxlib目录
在${HIVE_HOME}中创建文件夹auxlib,然后将自定义jar文件放入该文件夹中。
此方法添加不需要重启Hive。而且比较便捷。
连接方式 | 是否有效 |
---|---|
Hive Shell | 不需要重启Hive服务就有效 |
Hive Server | 重启Hive服务才生效 |
(3)直接将Jar加入${HIVE_HOME}/lib目录
连接方式 | 是否有效 |
---|---|
Hive Shell | 重启Hive服务才生效 |
Hive Server | 重启Hive服务才生效 |
2. 建立外部表
create external table te