请教一下 elasticsearch 分析交易流水类的数据库文本(以||分割),如何才能导入到 elasticsearch 里面? mapping?有没有工具可以直接通过 sql 转化成可以导入的格式呢?

2018-02-09 16:34:41 +08:00
 jahan

想通过例子学习一下,如何把数据导入到 elasticsearch。 需要看那部分文档呢?

3547 次点击
所在节点    Elasticsearch
18 条回复
kslr
2018-02-09 16:37:41 +08:00
比如 mysql 就可以把 binlog 同步进去
jahan
2018-02-09 16:42:47 +08:00
https://www.jianshu.com/p/1bf53ebfcdcf

貌似这个有一个 txt 的导入,不过我文件里面不单单是字符型?还有金额,这样的话,该怎么给字符定义类型呢?
jahan
2018-02-09 16:44:05 +08:00
@kslr 我现在的情况是文件是从数据库导出的 del 备份,有建表语句,但是数据库损坏了。所以可能不能直接从数据库导出了。
tomczhen
2018-02-09 16:54:58 +08:00
需要看 logstash 的 input plugins 和 filter plugins 部分,也可以查一下有没有第三方 input plugin 可以直接满足要求,没有话大概就是用 Grok filter plugin 了。
lfzyx
2018-02-09 17:12:41 +08:00
你要做的就是把 elasticsearch 当作一个键值数据库
1.建立一个索引
2.把数据库文本中的每个条目转换成一个 json 串
3.把转换后的数据插入索引
SakuraKuma
2018-02-09 17:29:07 +08:00
1. 建索引,mapping
2. 会写代码?
转文本到 json,api 插入 es
: logstash #4
jahan
2018-02-09 18:29:43 +08:00
@SakuraKuma python 可以写。有现成的可以参考吗?

@lfzyx 谢谢。
@tomczhen 我来试试。就是这几个工具都有点摸不着头,说命令行吧,貌似也不是,说网页吧,貌似很少键可以点击。
刚刚学习。

话说一次能读多大的文本块?
jahan
2018-02-09 18:31:15 +08:00
如果有比较精简、完整的文档推荐,那就太感谢了
jahan
2018-02-09 18:32:42 +08:00
@SakuraKuma 建立索引这块,有没有工具可以直接把 sql 建表语句变成索引?
owenliang
2018-02-09 18:33:59 +08:00
可以自己编程。
defunct9
2018-02-09 20:35:20 +08:00
链接里有,把 sql 结果整理成 json,导入即可
mooncakejs
2018-02-09 20:46:34 +08:00
awk + curl
jalja27
2018-02-09 20:56:58 +08:00
es 2 版本可以用 jdbc 的工具。分隔符可以 logstash grok
jerome918
2018-02-10 10:34:28 +08:00
可以用 spark 跑吧,读文件生成 rdd 然后用 es-spark 的 api 写入到 es 中,当然 es 中要首先建好 mapping.
jahan
2018-02-10 10:56:33 +08:00
@jerome918 现在就是想通过 sql 建表语句直接转换成索引,初学没找到特别踏实( step by step,表和索引怎么对应)的例子。
SakuraKuma
2018-02-11 09:01:45 +08:00
@jahan #7 elasticsearch-sql
jahan
2018-02-14 08:36:12 +08:00
@defunct9 大量的数据怎么整理成 json 呢,有没有现成的轮子呢
defunct9
2018-02-14 19:28:34 +08:00
@jahan 自己写个不就好了,拼字符串的事

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/429802

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX