第一步,加入对应版本的jar包到hive的lib目录下
如何知道hive的lib目录是什么呢
whereis hive
- 命令,可以找到hive的lib所在位置如图:
- 第二部 添加java和hive关联
- hive命令进入hive CML(命令行)
- 执行如下命令
add jar /usr/lib/hive/lib/elasticsearch-hadoop-7.0.0.jar;
–注意7.00是你用的es的版本号 jar包的下载地址可以在mvnrepository
中查找
3.建表语句:
CREATE EXTERNAL table IF NOT EXISTS dmp.t_dmp_idfa_bundle_country_array_tbl_es(ifa STRING,bundles array<STRING>,countrys array<STRING>)STORED BY 'org.elasticsearch.hadoop.hive.EsStorageHandler'TBLPROPERTIES('es.resource' = 't_dmp_idfa_bundle_country_array_tbl_es/_doc','es.nodes' = 'locolhost','es.nodes.wan.only' = 'true');
4.在hive命令行中执行
insert into dmp.t_dmp_idfa_bundle_country_array_tbl_es
(ifa,bundles,countrys) select ifa,bundles,countrys from dmp.t_dmp_idfa_bundle_country_array_tbl
limit 10;
就可以了,
备注,插入几条还是没问题的,如果插入的多了会包错,正在查找原
至此,hive和es整合完成