2017-06-06 84 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的出口。文檔是內聯的。