elasticsearch bulk批量導入 大文件拆分

命令以下:shell

curl -s -XPOST http://localhost:9200/_bulk --data-binary @data.json

若是上傳的data.json文件較大,能夠將其切分爲多個小文件,在批量上傳,shell腳本以下:json

#!/bin/bash

split -l 100000 -a 10 data.json ./tmp/carrier_bulk

BULK_FILES=./tmp/carrier_bulk*
for f in $BULK_FILES; do
    curl -s -XPOST http://localhost:9200/_bulk --data-binary @$f >> /dev/null
    echo $f >> ./import.log
done
  1. /dev/null不將輸出打印到終端
  2. 每次循環輸出到日誌中,能夠查看命令是否執行成功,也能夠看命令執行的進度。
相關文章
相關標籤/搜索