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. 每次循环输出到日志中,可以查看命令是否执行成功,也可以看命令执行的进度。

猜你喜欢

转载自www.cnblogs.com/wangmo/p/9850164.html
今日推荐