亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

大量Json文件批量讀取解析導入elasticsearch,該怎么做?

大量Json文件批量讀取解析導入elasticsearch,該怎么做?

侃侃無極 2018-07-04 10:06:04
業務場景需要把大量的json文件,讀取并重新解析導入到elasticsearch,json文件是保存在不同的日期文件夾下的,單個文件夾大小差不多80g,文件下json文件數量沒實際算過但應該有 1w+我的處理方式開個線程池,然后多線程讀取不同的json文件,json里的數據是 數組的形式 [data1, data2, data3, data4,...],我這邊解析這個 json 文件 ,然后遍歷 每個 data,并把 data 解析成需要的 json 格式并導入elasticsearch,通過 elasticsearch 的批量導入處理,每一千條導入一次想要改進的地方想加入類似斷點續傳的功能,就是當我程序運行到一半斷了,我不需要從頭開始,而是從上次斷開的地方重新讀取導入,但沒有實現頭緒,我是用Java做的
查看完整描述

2 回答

?
繁星coding

TA貢獻1797條經驗 獲得超4個贊

斷點續傳心許還是麻煩了些,可以用split命令把這些大文件先切割成小文件,再直接用curl命令通過bulk API把這些文件給提交上去:

curl -XPOST -H 'Content-Type: application/json' localhost:9200/_bulk --data-binary @/path/to/your/file_1.jsoncurl -XPOST -H 'Content-Type: application/json' localhost:9200/_bulk --data-binary @/path/to/your/file_2.jsoncurl -XPOST -H 'Content-Type: application/json' localhost:9200/_bulk --data-binary @/path/to/your/file_3.jsoncurl -XPOST -H 'Content-Type: application/json' localhost:9200/_bulk --data-binary @/path/to/your/file_4.jsoncurl -XPOST -H 'Content-Type: application/json' localhost:9200/_bulk --data-binary @/path/to/your/file_5.json

這樣連多線程都省了。


查看完整回答
反對 回復 2018-07-21
?
忽然笑

TA貢獻1806條經驗 獲得超5個贊

全部復制一遍,傳完一個文件刪一個文件

查看完整回答
反對 回復 2018-07-21
  • 2 回答
  • 0 關注
  • 2829 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號