elasticsearch bulk批量导入 大文件拆分

命令如下:

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

如果上传的data.json文件较大,可以将其切分为多个小文件,在批量上传,shell脚本如下:

#!/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. 每次循环输出到日志中,可以查看命令是否执行成功,也可以看命令执行的进度。
posted @ 2018-10-25 15:31  wangmo  阅读(1184)  评论(0编辑  收藏  举报