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:
./bin/logstash-plugin list --group output
显示:
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
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 文件。我们可以打开这个文件,并看到像这样的文档:
最新活动
包含文章发布时段最新活动,前往ES产品介绍页,可查找ES当前活动统一入口
Elasticsearch Service自建迁移特惠政策>>
Elasticsearch Service 新用户特惠狂欢,最低4折首购优惠 >>
Elasticsearch Service 企业首购特惠,助力企业复工复产>>
关注“腾讯云大数据”公众号,技术交流、最新活动、服务专享一站Get~
- 从头编写 asp.net core 2.0 web api 基础框架 (3)
- Distribute Cached 使用
- RavenDb学习(七) 异步工作以及维度查询
- RavenDb学习(五)结果转换
- sqoop 从sqlserver2008 导入数据到hadoop
- 从头编写 asp.net core 2.0 web api 基础框架 (2)
- hbase源码系列(四)数据模型-表定义和列族定义的具体含义
- RavenDb学习(四)处理文档相关性
- RavenDb学习(二)简单的增删查改
- RavenDb学习(九)高级特性下半部分
- RavenDb学习(三)静态索引
- 从头编写 asp.net core 2.0 web api 基础框架 (1)
- 使用Identity Server 4建立Authorization Server (6) - js(angular5) 客户端
- 如何实现超高并发的无锁缓存?
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- opencv 形态学变换(开运算,闭运算,梯度运算)
- 使用darknet框架的imagenet数据分类预训练操作
- php两点地理坐标距离的计算方法
- tp5(thinkPHP5)框架连接数据库的方法示例
- CI框架附属类用法分析
- ThinkPHP5.0框架结合Swoole开发实现WebSocket在线聊天案例详解
- PHP封装的page分页类定义与用法完整示例
- Swoole实现异步投递task任务案例详解
- Keras预训练的ImageNet模型实现分类操作
- 通过实例解析Python RPC实现原理及方法
- PHP实现的支付宝支付功能示例
- 为Plesk PHP7启用Oracle OCI8扩展方法总结
- PHP模版引擎原理、定义与用法实例
- python如何查看安装了的模块
- Linux下源码包安装Swoole及基本使用操作图文详解