用于将elasticsearch数据导出到csv的cli客户端
parallel-es2csv的Python项目详细描述
这个项目只需要一个简单的cli命令来使用cpu从es导出数据, 以及ElasticSearch的切片滚动搜索,用于获取大型数据集。 它旨在用于数据工作流中提取数据。
当no_of_workers==no_of_shard_for_the_index时,性能似乎更好。
注
这仍然是早期的发展和有点粗糙的边缘。 任何错误报告、功能建议等都非常感谢。:)
安装和使用
安装 因为这是pypi上提供的python包,所以您可以像 任何其他python包。
# on modern systems with Python you can install with pip $ pip install parallel-es2csv # on older systems you can install using easy_install $ easy_install parallel-es2csv
用法 命令应该主要是自我记录它们的定义, 通过help命令提供。
$ parallel-es2csv usage: parallel-es2csv -u <elasticsearch_url> -i <[list_of_index]> [-n <no_of_workers>][-o <output_folder>] arguments: -h, --help show this help message and exit -i INDICES [INDICES ...], --indices INDICES [INDICES ...] ES indices to export. -u URL, --url URL Elasticsearch host URL. Default is http://localhost:9200. -a AUTH, --auth AUTH Elasticsearch basic authentication in the form of username:pwd. -D DOC_TYPE [DOC_TYPE ...], --doc_types DOC_TYPE [DOC_TYPE ...] Document type(s). -o OUTPUT_FOLDER, --output_folder OUTPUT_FOLDER Output folder path. -f FIELDS [FIELDS ...], --fields FIELDS [FIELDS ...] List of selected fields in output. Default is ['_all']. -m INTEGER, --max INTEGER Maximum number of results to return. Default is 0. -s INTEGER, --scroll_size INTEGER Scroll size for each batch of results. Default is 100. -t INTEGER, --timeout INTEGER Timeout in seconds. Default is 60. -e, --meta_fields Add meta-fields in output. -n NO_OF_WORKERS, --no_of_workers NO_OF_WORKERS No. or parallel scroll from Elasticsearch, using Multiprocess -v, --version Show version and exit. --debug Debug mode on.