将HDFS中的数据批量上传到elasticsearch服务器

时间:2014-06-17 16:16:58

标签: json unix hadoop solr elasticsearch

我在CSV格式的HDFS中有一个大型数据集,我需要批量上传到ElasticSearch服务器。有没有办法使用unix命令行从HDFS批量上传这些数据?

我在SOLR(https://wiki.apache.org/solr/UpdateCSV)中使用一些简单的shell命令完成了这个:

hadoop fs -ls <dir-name> | awk '{ print $NF }'| 
while read inDir ; do hadoop fs -cat $inDir | 
parallel --pipe --block 50000 curl -v --data-binary @- -H 
"Content-type:text/plain” ‘http://localhost:8983/solr/update/csv?commit=false\&fieldnames=name,address,city' ; 
done

是否有类似的方法/工具我可以从HDFS文件中读取数据,将其转换为格式良好的JSON并将其流式传输到ElasticSearch服务器以进行批量索引?另一个选择是我使用Java / Python来执行此处理。我只是想探索是否有一套简单的unix工具可以用来实现同样的目的。

感谢。

0 个答案:

没有答案