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

前言|

本文结合用户实际需求用按照数据量从小到大的提供三种方式从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格式可以使用它来进行操作,这里就不多说。

相关推荐
一枕槐安4873 小时前
少样本提示(Few-shot)在业务场景的落地实践
大数据·人工智能·意图分类·mmr多样性·knn检索·动态示例选择
roman_日积跬步-终至千里4 小时前
零售与数仓(二):从经营问题到可信证据,数仓怎样建设?
大数据·零售
大大大大晴天8 小时前
每天认识一个组件:Apache Pulsar
大数据
极限挑战哥8 小时前
共享电单车联营平台分账架构实践:二清合规与自动分账零人工方案
java·大数据·人工智能·微信小程序·架构·微信公众平台
QXWZ_IA8 小时前
公路边坡裂缝的自动化监测布设
大数据·人工智能·自动化
meiying88389 小时前
多快递公司快递单号批量查询接口怎么对接?Python 聚合查询实现
java·大数据·python
SelectDB9 小时前
Doris 异步物化视图实战:与 Snowflake MV / Dynamic Tables 分层建模对照
大数据·数据库·云原生
张张123y10 小时前
后端第十六课:Multi-Agent 多智能体(让多个 Agent 分工协作)
大数据·数据库·人工智能·python·deepseek·dsh·agent 框架
todoitbo10 小时前
MongoDB迁移之后,Spring Data 和 Hibernate 各自接哪类请求
大数据·数据库·mongodb·spring·hibernate·金仓数据库
Elasticsearch11 小时前
基于 Elasticsearch 与 Jina AI 的全模态智能搜索实践:技术全解析
elasticsearch