elasticsearch-03.从elasticsearch中将数据导出到json文件中

时间:2022-02-09 23:42:58

logstash的安装可参考上一篇博客
最近公司在处理大数据方面做技术选型工作,目前进入视野范围的有elasticsearch,crate,druid.io。
本文将讲述如何将elasticsearch中的数据导出到json文件。
首先,看配置信息:

input{
     elasticsearch {
        hosts => ["10.0.0.101:9200","10.0.0.102:9200","10.0.0.103:9200"]
        index => "weblogs"
        type => "weblog"
        size => 1000
        scroll => "5m"
        docinfo => false
    } 
} 
output{
   file {
     path => "weblogs-data.json"
   }
   # stdout {
   # codec => json_lines
   # }
 } 

将上述配置存储为conf文件,如【es-json.conf】,进入logstash的bin目录下,执行:
./logstash -f es-json.conf
等待导出完成即可。

导出完成后,可将导出完成的json文件导入到crate中。

crate admin面板中执行以下sql即可将json文件中的数据导入到crate中,前提是请先在crate中将表建立好:
copy weblogs.weblog from '/var/logstash/logstash-6.2.4/bin/weblogs-data.json' with(bulk_size=1000);

参考:
https://www.elastic.co/guide/en/logstash/current/plugins-inputs-elasticsearch.html
https://www.elastic.co/guide/en/logstash/current/plugins-outputs-file.html