Elasticsearch提供了打通Hadoop生态圈和Elasticsearch的jar包,很方便,下载地址:https://www.elastic.co/cn/downloads/hadoop
对于Elasticsearch版本是否要和jar包一致,我没有做过验证,直接用的对应一致的版本。
通常情况下,pig脚本一般将数据存放在HDFS上,而将结果数据存放在Elasticsearch上,计算逻辑完全不变,只是在最后store的时候变一下,省略中间计算逻辑,一个向Elasticsearch写数据的pig脚本长这个样子:
REGISTER /path/elasticsearch-hadoop.jar;
。。。。。。
。。。。。。
。。。。。。
STORE B INTO 'index_name/'
USING org.elasticsearch.hadoop.pig.EsStorage
('es.http.timeout = 5m',
'es.index.auto.create = true',
'es.nodes = es_node_ip',
'es.port = 9200' );
就这样
第一行REGISTER是告诉集群要加载这个工具包,最后的语句是替换之前存储到HDFS的语句
附上官网文档:https://www.elastic.co/guide/en/elasticsearch/hadoop/current/pig.html