将文档导出为JSON或CSV
我知道这可能是一个基本问题,但我相信每个人都必须从某个角度学习。将文档导出为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文件的格式。请你能帮我理解我该怎么做,并澄清我应该采取的步骤,因为这对我来说是至关重要的。
非常感谢!
这似乎是最高级别的选项 - 它会从elasticsearch下载所有索引,而不仅仅是一个(从docs)。
es2csv -q 'host: localhost' -o database.csv
或指定一个索引,使用-i
和索引的名字:
es2csv -i indexname -q 'host: localhost' -o database.csv
一个更好的办法可能是使用kibana建立可视化。然后,您可以使用kibana中可视化文件下方的按钮将数据导出为Raw
或Formatted
。
这可能会更好,尤其是如果您构建数据表时,因为数据将被“拼合” - 而不是嵌套在json结构中,而直接转换为csv时可能没有多大用处。
我最近张贴了这个脚本,听起来像它具有类似的目标上面es2csv.py,但只是作为一个单一的bash脚本使用JQ和json2csv.js。
这是作为一个要点:
https://gist.github.com/nzjess/23cbab0fbb3b1b3a63c30e468119612b
这是怎么了,我从我们的ELK栈脚本我们的CSV的出口。文档是内联的。