首先在本地测试服务器放上/home/yourname/elasticsearch-hadoop-5.2.0.jar
试试hdfs dfs -put elasticsearch-hadoop-5.2.0.jar /tmp/
然后在hql文件头加上add jar file:/home/yourname/elasticsearch-hadoop-5.2.0.jar ;
(也可以试试hdfs的tmp路径)
ok.
add jar file:/home/yourname/elasticsearch-hadoop-5.2.0.jar;
CREATE EXTERNAL TABLE temp.test2 (
student_id bigint
, age int
, gender string
, birthday string
)
STORED BY 'org.elasticsearch.hadoop.hive.EsStorageHandler'
TBLPROPERTIES(
'es.resource'='xxxx',
'es.nodes'='xx.xx.xx',
'es.port'='xxxx',
'http.port'='xxxx',
'es.mapping.id' = 'student_id',
'es.write.operation'='upsert'
);
insert overwrite table temp.test2
partition(pt = '20180425')
SELECT student_id
, age
, gender
, birthday
FROM temp.test
WHERE pt = '20180425'
;