如何把Elasticsearch中的数据导出为CSV格式的文件-CSDN博客

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

前言|

本文结合用户实际需求用按照数据量从小到大的提供三种方式从ES中将数据导出成CSV形式。本文将重点介Kibana/Elasticsearch高效导出的插件、工具集通过本文你可以了解如下信息

1从kibana导出数据到csv文件

2logstash导出数据到csv文件

3es2csv导出数据到csv文件

一、Kibana导出工具

步骤1点击Kibana

步骤2左侧选择数据筛选字段点击save保存并命名

保存字段数据

保存字段数据

命名

命名

步骤3右侧点击share->csv reports。 一般根据数据文件大小会花费不同的时间

生成CSV文件

生成CSV文件

步骤4菜单栏选择Management->Reporting->下载

下载并打开已存的文件

下载并打开已存的文件

注意当然使用Kibana导出会出现如下几个问题比如要下载的文件太大在保存对象生成CSV文件的过程中会出现如下信息

下载的数据文件太大

下载的数据文件太大

如果在下载的时候出现这个问题需要改一下Kibana配置文件这个时候需要联系腾讯云售后给与支持。

修改kibana配置文件

修改kibana配置文件

当然我们也可以使用kibana将一些其它保存在导航图的的对象下载下来在Dashboard的右上角点击Inspect再点击就可以导出对应可视化报表对应的数据。如下

导出可视化报表对应的数据

导出可视化报表对应的数据

总结kibana导出数据到CSV文件图形化操作方便快捷但是操作数据不能太大适合操作一些小型数据的导出。

二、使用logstash导出ES数据成CSV文件

步骤一安装与ES对应版本的logstash一般安装完后默认就集成了logstash-output-csv插件

查看此插件

查看此插件

显然logstash-ouput-csv是在列表中。也就是说我们logstash支持csv格式的输出。我们建立如下的Logstash的配置文件

定义Logstash事件配置文件

定义Logstash事件配置文件

请注意上面的path需要自己去定义时候自己环境的路径。这里我们在fields里定义了我们想要的字段。通过如下命令启动logstash服务 ../bin/logstash -f ../path/convert_csv.conf

结论Logstash不只光可以把数据传上Elasticsearch同时它还可以把数据从Elasticsearch中导出。适合大量数据的导出。但是导出时间也会根据数据的大小而长短不一。

三、使用es2csv导出ES数据成CSV文件

可以去官网了解一下这个工具https://pypi.org/project/es2csv/

用python编写的命令行数据导出程序适合大量数据的同步导出速度和效率都比较快。

安装这个过程参考上面的官方链接如果出现无法安装pip命令可以参考此链接

https://www.cnblogs.com/wujf-myblog/p/9644278.html

具体的参数详解可以参考此链接https://www.kutu66.com/GitHub/article_133864

常用参数如下

-i 索引名

-q query dsl

-a 认证信息 格式user: password

-u esurl 格式 http://ip:9200

-o 命名

-r qurey formated

具体执行一个命令操作一下如下

es2csv文件格式

es2csv文件格式

因此执行成功后就回出现进度条的显示信息。如上图所示。

四、总结

以上3种方法是常见的ES导出到CSV文件的方法实际工作中使用也比较广泛。大家可以多尝试。当然。elasticsearch-dump也能导但是比较小众相当于Mysqldump指令。如果要将ES导出到json格式可以使用它来进行操作这里就不多说。

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6