首页
学习
活动
专区
圈层
工具
发布
30 篇文章
1
ElasticSearch高级功能:Cross Cluster Replication实战
2
ElasticSearch压测工具:esrally离线使用详解
3
ElasticSearch实战:Kibana可视化
4
ElasticSearch实战:IK中文分词插件
5
ElasticSearch实战:将文本文件导入kibana
6
ElasticSearch实战:Linux日志对接Kibana
7
Elasticsearch:flattened 数据类型 (7.3 发行版新功能)
8
Elasticsearch: range 数据类型及基于range的聚合 (7.4发行版新功能)
9
腾讯云ES索引生命周期管理使用教程(视频)
10
腾讯云ES数据备份恢复使用教程(视频)
11
Elasticsearch:透彻理解 Elasticsearch 中的 Bucket aggregation
12
Elasticsearch:pipeline aggregation 介绍
13
Elasticsearch:Index 生命周期管理入门
14
Elastic Stack 7.7 Observability 新功能介绍
15
腾讯云中 Elastic Stack 的 Beats 部署最佳实践
16
海量挑战:腾讯云ES可用性及性能优化实践
17
Elasticsearch: Reindex接口
18
Elasticsearch:Java 运用示例
19
如何安装 Elastic 栈中的 Logstash
20
Logstash: 应用实践 - 装载 CSV 文档到 Elasticsearch
21
2分钟快速了解Elasticsearch
22
Elastic:Elasticsearch 的分片管理策略
23
Elasticsearch:如何把 Elasticsearch 中的数据导出为 CSV 格式的文件
24
Elasticsearch:Elasticsearch 中的 refresh 和 flush 操作指南
25
Kibana: 如何使用 Search Bar
26
Kibana:如何开始使用 Kibana
27
10分钟快速入门海量数据搜索分析引擎 Elasticsearch
28
腾讯万亿级 Elasticsearch 内存效率提升解密
29
腾讯Elasticsearch海量规模背后的内核优化剖析
30
【ElasticSearch性能测试】esrally最新版本的编译、安装与使用

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

腾讯云 Elasticsearch Service】高可用,可伸缩,云端全托管。集成X-Pack高级特性,适用日志分析/企业搜索/BI分析等场景


本教程向您展示如何将数据从 Elasticsearch 导出到 CSV 文件。 想象一下,您想要在 Excel 中打开一些 Elasticsearch 中的数据,并根据这些数据创建数据透视表。 这只是一个用例,其中将数据从 Elasticsearch 导出到 CSV 文件将很有用。

方法一

其实这种方法最简单了。我们可以直接使用 Kibana 中提供的功能实现这个需求。

我们首先来准备数据:

再接着选择 Add data。这样我们的 Elasticsearch 中就会有我们的 eCommerce 索引了。

我们接着选择 Discover,并选择我们刚才建立的 eCommerce 索引。

我们同时要记得在time picker里选择我们所需要的时间段:

我们可以做一些我们想要的搜索:

我们点击左上角的Save按钮:

接下来,我们点击 Share 按钮:

这样我们就可以得到我们当前搜索结果的csv文件。我们只需要在Kibana中下载即可:

方法二

我们可以使用 Logstash 提供的功能来做这个。这个的好处是可以通过编程的方式来进行。Logstash 不只光可以把数据传上 Elasticsearch,同时它还可以把数据从 Elasticsearch 中导出。

我们首先必须安装和 Elasticsearch 相同版本的 Logstash。如果大家还不指定如安装 Logstash 的话,请参阅我的文章 “如何安装Elastic栈中的Logstash”。

我们可以进一步查看我们的 Logstash 是否支持 csv 的 output:

代码语言:javascript
复制
./bin/logstash-plugin list --group output

显示:

代码语言:javascript
复制
logstash-output-cloudwatchlogstash-output-csvlogstash-output-elastic_app_searchlogstash-output-elasticsearchlogstash-output-emaillogstash-output-filelogstash-output-graphitelogstash-output-httplogstash-output-lumberjacklogstash-output-nagioslogstash-output-nulllogstash-output-pipelogstash-output-rabbitmqlogstash-output-redislogstash-output-s3logstash-output-snslogstash-output-sqslogstash-output-stdoutlogstash-output-tcplogstash-output-udplogstash-output-webhdfs

显然 logstash-ouput-csv 是在列表中。也就是说我们 logstash 支持 csv 格式的输出。

我们建立如下的Logstash的配置文件:

convert_csv.conf

代码语言:javascript
复制
input { elasticsearch {    hosts => "localhost:9200"    index => "kibana_sample_data_ecommerce"    query => '{      "query": {        "bool": {          "must": [            {              "match": {                "currency": "EUR"              }            },            {              "match": {                "products.quantity": 1              }            }          ]        }      }    }'  }} output {  csv {    # This is the fields that you would like to output in CSV format.    # The field needs to be one of the fields shown in the output when you run your    # Elasticsearch query     fields => ["category", "customer_birth_date", "customer_first_name", "customer_full_name", "day_of_week"]      # This is where we store output. We can use several files to store our output    # by using a timestamp to determine the filename where to store output.        path => "/Users/liuxg/tmp/csv-export.csv"  }}

请注意上面的 path 需要自己去定义时候自己环境的路径。这里我们在 fields 里定义了我们想要的字段。

然后,我们可以运行我们的 Logstash 应用:

代码语言:javascript
复制
./bin/logstash -f ~/data/convert_csv.conf 

这样在我们定义的文件路径 /Users/liuxg/tmp/csv-export.csv 可以看到一个输出的 csv 文件。我们可以打开这个文件,并看到像这样的文档:


最新活动

包含文章发布时段最新活动,前往ES产品介绍页,可查找ES当前活动统一入口

Elasticsearch Service自建迁移特惠政策>>

Elasticsearch Service 新用户特惠狂欢,最低4折首购优惠 >>

Elasticsearch Service 企业首购特惠,助力企业复工复产>>

关注“腾讯云大数据”公众号,技术交流、最新活动、服务专享一站Get~

下一篇
举报
领券