V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jahan
V2EX  ›  Elasticsearch

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

  •  
  •   jahan · 2018-02-09 16:34:41 +08:00 · 3674 次点击
    这是一个创建于 2477 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    18 条回复    2018-02-14 19:28:34 +08:00
    kslr
        1
    kslr  
       2018-02-09 16:37:41 +08:00
    比如 mysql 就可以把 binlog 同步进去
    jahan
        2
    jahan  
    OP
       2018-02-09 16:42:47 +08:00
    https://www.jianshu.com/p/1bf53ebfcdcf

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

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

    话说一次能读多大的文本块?
    jahan
        8
    jahan  
    OP
       2018-02-09 18:31:15 +08:00
    如果有比较精简、完整的文档推荐,那就太感谢了
    jahan
        9
    jahan  
    OP
       2018-02-09 18:32:42 +08:00
    @SakuraKuma 建立索引这块,有没有工具可以直接把 sql 建表语句变成索引?
    owenliang
        10
    owenliang  
       2018-02-09 18:33:59 +08:00
    可以自己编程。
    defunct9
        11
    defunct9  
       2018-02-09 20:35:20 +08:00 via iPhone
    链接里有,把 sql 结果整理成 json,导入即可
    mooncakejs
        12
    mooncakejs  
       2018-02-09 20:46:34 +08:00
    awk + curl
    jalja27
        13
    jalja27  
       2018-02-09 20:56:58 +08:00 via Android
    es 2 版本可以用 jdbc 的工具。分隔符可以 logstash grok
    jerome918
        14
    jerome918  
       2018-02-10 10:34:28 +08:00
    可以用 spark 跑吧,读文件生成 rdd 然后用 es-spark 的 api 写入到 es 中,当然 es 中要首先建好 mapping.
    jahan
        15
    jahan  
    OP
       2018-02-10 10:56:33 +08:00
    @jerome918 现在就是想通过 sql 建表语句直接转换成索引,初学没找到特别踏实( step by step,表和索引怎么对应)的例子。
    SakuraKuma
        16
    SakuraKuma  
       2018-02-11 09:01:45 +08:00
    @jahan #7 elasticsearch-sql
    jahan
        17
    jahan  
    OP
       2018-02-14 08:36:12 +08:00
    @defunct9 大量的数据怎么整理成 json 呢,有没有现成的轮子呢
    defunct9
        18
    defunct9  
       2018-02-14 19:28:34 +08:00 via iPhone
    @jahan 自己写个不就好了,拼字符串的事
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5691 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 06:28 · PVG 14:28 · LAX 22:28 · JFK 01:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.