Hive与ElasticSerach集成数据插入的坑

Hive与ElasticSerach集成必须要依赖外部的jar ,否则就是

ClassNotFoundException

第一种方法: 由于Hive与Es集成,需要第三方Jar,由于Hive和Es不属于同一组织,hive与Es 集成的jar,是第由ElasticSerach公司书写的,所以下载需要去ElasticSerach官网下载

下载地址为 :https://www.elastic.co/cn/downloads/past-releases

Hive与ElasticSerach集成数据插入的坑

下载完毕之后,解压找到自己需要的 jar[elasticsearch-hadoop.jar],上传到自己的所有服务器(所有节点),所有服务器对当前Jar 授权 chmod 777 elasticsearch-hadoop.jar

修改Hive-site.xml配置文件:

添加配置:

Hive与ElasticSerach集成数据插入的坑

修改启动Beeline的shell配置文件:

Hive与ElasticSerach集成数据插入的坑

启动Beeline 运行 既不会报错

第二种方式:上传相对应的Jar上传到所有的节点!!!

使用Beeline 登录,选中databases; 

使用 ADD JAR file:///usr/hdp/elasticsearch_hadoop.jar;  

同样可以,只不过这是 只支持当前会话,如果推出,需要重新运行,首选第一种

ADD JAR file:///usr/hdp/2.4.3.0-227/spark/lib/accumulo-core-1.7.0.2.4.3.0-227.jar;