Hive与ElasticSerach集成数据插入的坑
Hive与ElasticSerach集成必须要依赖外部的jar ,否则就是
ClassNotFoundException
第一种方法: 由于Hive与Es集成,需要第三方Jar,由于Hive和Es不属于同一组织,hive与Es 集成的jar,是第由ElasticSerach公司书写的,所以下载需要去ElasticSerach官网下载
下载地址为 :https://www.elastic.co/cn/downloads/past-releases
下载完毕之后,解压找到自己需要的 jar[elasticsearch-hadoop.jar],上传到自己的所有服务器(所有节点),所有服务器对当前Jar 授权 chmod 777 elasticsearch-hadoop.jar;
修改Hive-site.xml配置文件:
添加配置:
修改启动Beeline的shell配置文件:
启动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;