2017-06-06 129 views
0

我知道这可能是一个基本问题,但我相信每个人都必须从某个角度学习。将文档导出为JSON或CSV

我恶补Elasticsearch和我在这个页面

https://www.elastic.co/guide/en/elasticsearch/reference/current/_exploring_your_data.html

我学会了如何加载JSON数据,并形成指数经历的文档。但后来出现了一个问题,我怎么能够将我创建的整个索引(这里是银行)导出为CSV或JSON。由于我在Kibana找不到解决方案,因此我搜索了Github并碰到了这个python脚本'es2csv'。

https://pypi.python.org/pypi/es2csv/2.4.11

我安装了它,但我不能让一个输出,它应该出现在一个CSV文件的格式。请你能帮我理解我该怎么做,并澄清我应该采取的步骤,因为这对我来说是至关重要的。

非常感谢!

回答

0

这似乎是最高级别的选项 - 它会从elasticsearch下载所有索引,而不仅仅是一个(从docs)。

es2csv -q 'host: localhost' -o database.csv 

或指定一个索引,使用-i和索引的名字:

es2csv -i indexname -q 'host: localhost' -o database.csv 

一个更好的办法可能是使用kibana建立可视化。然后,您可以使用kibana中可视化文件下方的按钮将数据导出为RawFormatted

这可能会更好,尤其是如果您构建数据表时,因为数据将被“拼合” - 而不是嵌套在json结构中,而直接转换为csv时可能没有多大用处。

enter image description here

0

我最近张贴了这个脚本,听起来像它具有类似的目标上面es2csv.py,但只是作为一个单一的bash脚本使用JQ和json2csv.js。

这是作为一个要点:

https://gist.github.com/nzjess/23cbab0fbb3b1b3a63c30e468119612b

这是怎么了,我从我们的ELK栈脚本我们的CSV的出口。文档是内联的。