Elasticsearch:如何把Elasticsearch中的数据导出为CSV格式的文件
本教程向您展示如何将数据从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:
./bin/logstash-plugin list --group output
显示:
logstash-output-cloudwatch
logstash-output-csv
logstash-output-elastic_app_search
logstash-output-elasticsearch
logstash-output-email
logstash-output-file
logstash-output-graphite
logstash-output-http
logstash-output-lumberjack
logstash-output-nagios
logstash-output-null
logstash-output-pipe
logstash-output-rabbitmq
logstash-output-redis
logstash-output-s3
logstash-output-sns
logstash-output-sqs
logstash-output-stdout
logstash-output-tcp
logstash-output-udp
logstash-output-webhdfs
显然logstash-ouput-csv是在列表中。也就是说我们logstash支持csv格式的输出。
我们建立如下的Logstash的配置文件:
convert_csv.conf
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应用:
./bin/logstash -f ~/data/convert_csv.conf
这样在我们定义的文件路径/Users/liuxg/tmp/csv-export.csv可以看到一个输出的csv文件。我们可以打开这个文件,并看到像这样的文档:
Elasticsearch:如何把Elasticsearch中的数据导出为CSV格式的文件的更多相关文章
- 将组策略中的内容导出至CSV格式
#将组策略首选项中的"本地用户和组"下的所有条目导出 $xml = Get-GPOReport -ReportType Xml -Name "China Desktop ...
- python 将json格式的数据写入csv格式的文件中
# coding=utf-8 import json import csv # 重新进行配置读写数据时的默认编码 import sys reload(sys) sys.setdefaultencodi ...
- elasticsearch river 从数据库中导入数据
Elasticsearch中使用reiver-jdbc导入数据 2014-05-13 15:10 本站整理 浏览(3384) Elasticsearch中使用reiver-jdbc导入数据,有 ...
- 使用OpenXml把Excel中的数据导出到DataSet中
public class OpenXmlHelper { /// <summary> /// 读取Excel数据到DataSet中,默认读取所有Sheet中的数据 /// </sum ...
- 机房收费系统——在VB中将MSHFlexGrid控件中的数据导出到Excel
机房收费系统中,好多查询的窗体都包含同一个功能:将数据库中查询到的数据显示在MSHFlexGrid控件中,然后再把MSHFlexGrid控件中的数据导出到Excel表格中. 虽然之前做过学生信息管理系 ...
- Qt中将QTableView中的数据导出为Excel文件
如果你在做一个报表类的程序,可能将内容导出为Excel文件是一项必须的功能.之前使用MFC的时候我就写过一个类,用于将grid中的数据导出为Excel文件.在使用了QtSql模块后,我很容易的将这个类 ...
- 将Datagridview中的数据导出至Excel中
首先添加一个模块ImportToExcel,并添加引用 然后导入命名空间: Imports Microsoft.Office.Interop Imports System.Da ...
- WPF-将DataGrid控件中的数据导出到Excel
原文:WPF-将DataGrid控件中的数据导出到Excel 导出至Excel是非常常见,我们可以用很多类库,例如Aspose.NOPI.Interop,在这里我们使用微软自家的工具.我的WPF绑定的 ...
- 如何将存储在MongoDB数据库中的数据导出到Excel中?
将MongoDB数据库中的数据导出到Excel中,只需以下几个步骤: (1)首先,打开MongoDB安装目录下的bin文件夹,(C:\Program Files (x86)\MongoDB\Serve ...
随机推荐
- 如何快速体验OneOS
随便逛了逛 之前有简单了解过OneOS,今天逛了下OneOS专区,发现官方终于也在宣传方面发力了啊,很多文章都非常专业,也有开发者在专区里面提问题了.也发现,部分开发者倒在了第一步,如何编译下载运行O ...
- Zend Studio,php 生成报错
Zend Studio Description Resource Path Location Type Undefined CSS file ("../red-treeview.css&q ...
- 如何用天气预警API接口进行快速开发
天气预警能够指导人们出行.同一种类的气象灾害预警信号级别不同,对应的防御措施也不尽相同,人们通过气象灾害预警信号,合理安排出行.公众要提高防范意识,养成接收和关注预警信息的习惯,了解预警信息背后的意义 ...
- NC20583 [SDOI2016]齿轮
题目链接 题目 题目描述 现有一个传动系统,包含了N个组合齿轮和M个链条.每一个链条连接了两个组合齿轮u和v,并提供了一个传动比x : y. 即如果只考虑这两个组合齿轮,编号为u的齿轮转动x圈,编号为 ...
- jdbc 02: 连接mysql,并实现删除与更新
jdbc连接mysql,并实现删除与更新 package com.examples.jdbc.o2_删除与更新; import java.sql.*; //连接与插入 /* jdbc删除操作 */ p ...
- 基于gitlab 15.1 pages 搭建内部博客一定行版本
背景 基于 gitlab 15.1版 pages 搭建内部博客,参考官方文档,遇到一个又一个坑.之前看到别人吐槽说 gitlab 官方文档很差,我算是理解了.下面一个个说. 开始 按照官方文档的说法, ...
- Charles 某音最新版本抓包环境搭建
本文仅供学习交流使用,如侵立删! Charles 某音最新版本抓包环境搭建 操作环境 google nexus5x Android 8.1 Magisk 24.3 Douyin 17.3 kaliLi ...
- BS架构与CS架构
BS与CS的区别:1.BS是标准规范的,CS的协议自定义:2.BS核心运算都在服务器端,CS客户端和服务器端都可以运算:3.BS只需要部署服务器端,CS需要同时升级客户端和服务器端. CS(Clien ...
- Ubuntu 20.04安装Docker
Docker学习系列文章 入门必备:十本你不容错过的Docker入门到精通书籍推荐 day1.全面的Docker快速入门教程 day2.CentOS 8.4安装Docker day3.Windows1 ...
- 为什么各大厂自研的内存泄漏检测框架都要参考 LeakCanary?因为它是真强啊!
请点赞关注,你的支持对我意义重大. Hi,我是小彭.本文已收录到 GitHub · AndroidFamily 中.这里有 Android 进阶成长知识体系,有志同道合的朋友,关注公众号 [彭旭锐] ...