前言|
本文结合用户实际需求用按照数据量从小到大的提供三种方式从ES中将数据导出成CSV形式。本文将重点介Kibana/Elasticsearch高效导出的插件、工具集,通过本文你可以了解如下信息:
1,从kibana导出数据到csv文件
2,logstash导出数据到csv文件
3,es2csv导出数据到csv文件
一、Kibana导出工具
步骤1:点击Kibana;
步骤2:左侧选择数据,筛选字段;点击save,保存并命名
保存字段数据
命名
步骤3:右侧点击:share->csv reports。 一般根据数据文件大小,会花费不同的时间
生成CSV文件
步骤4:菜单栏:选择Management->Reporting->下载
下载并打开已存的文件
**注意:**当然使用Kibana导出会出现如下几个问题:比如要下载的文件太大,在保存对象生成CSV文件的过程中会出现如下信息:
下载的数据文件太大
如果在下载的时候出现这个问题,需要改一下Kibana配置文件,这个时候需要联系腾讯云售后给与支持。
修改kibana配置文件
当然,我们也可以使用kibana将一些其它保存在导航图的的对象下载下来,在Dashboard的右上角点击Inspect,再点击就可以导出对应可视化报表对应的数据。如下
导出可视化报表对应的数据
总结:kibana导出数据到CSV文件图形化操作方便快捷,但是操作数据不能太大,适合操作一些小型数据的导出。
二、使用logstash导出ES数据成CSV文件
步骤一:安装与ES对应版本的logstash,一般安装完后,默认就集成了logstash-output-csv插件
查看此插件
显然logstash-ouput-csv是在列表中。也就是说我们logstash支持csv格式的输出。我们建立如下的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文件格式
因此,执行成功后,就回出现进度条的显示信息。如上图所示。
四、总结
以上3种方法是常见的ES导出到CSV文件的方法,实际工作中使用也比较广泛。大家可以多尝试。当然。elasticsearch-dump也能导,但是比较小众,相当于Mysqldump指令。如果要将ES导出到json格式可以使用它来进行操作,这里就不多说。