外行问一下, elasticsearch+kinda 可以做多复杂的大数据分析? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jahan
V2EX    Elasticsearch

外行问一下, elasticsearch+kinda 可以做多复杂的大数据分析?

  •  
  •   jahan 2018-02-18 15:56:39 +08:00 8267 次点击
    这是一个创建于 2792 天前的主题,其中的信息可能已经有所发展或是发生改变。

    问一个特别外行的问题,elasticsearch 可实现多复杂的数据分析呢?

    11 条回复    2018-11-06 11:04:19 +08:00
    pathbox
        1
    pathbox  
       2018-02-18 16:09:29 +08:00 via iPhone
    elasticsearch 主要是搜索,可以自由各种组合
    Raymon111111
        2
    Raymon111111  
       2018-02-18 16:17:05 +08:00
    es 做搜索的..
    laxenade
        3
    laxenade  
       2018-02-18 16:31:30 +08:00 via Android
    起码配套 kibana 用来做数据分析毫无问题
    jahan
        4
    jahan  
    OP
       2018-02-18 17:33:45 +08:00   1
    @laxenade 谢谢。哪里会能看到案例呢
    knktc
        5
    knktc  
       2018-02-18 18:34:03 +08:00
    @jahan https://demo.elastic.co/
    可以先看看这个 demo
    但是我觉得 es 做数据分析,首先是要理清楚你的数据,因为 es 只是个工具,还是需要需求和目的来驱动的
    jahan
        6
    jahan  
    OP
       2018-02-18 20:18:40 +08:00
    @knktc 感谢回复。
    想搭建一个既能存储,有能方便有现成的轮子方便分析的平台。就搭建了一个 elk 的系统。
    当然我的数据都是结构化的数据(固定分隔符),不是日志、也不是杂乱文本。不过定期会有数据进来。然后快要搭建好了问了自己一个问题,这个 elk 够用吗?


    主要的目的就是想搭建一个能够适合不懂 sql 的人使用或者很精通 sql 和 r,python 等工具的人来挖掘一点有价值的信息,存储数据也是一部分(貌似 es 不能很好的保持数据?)也不知道上述目的用 elk 这样好不好,请大家多指教。
    knktc
        7
    knktc  
       2018-02-18 20:30:39 +08:00
    @jahan
    从我的经验来说 elk 绝对够用,而且也能很好地保持数据。
    但是如果你不包装的话,你的数据用户实际上还是需要学习一点 aggs 的知识才能比较好地挖掘数据,否则就只能当做一个简单的搜索来用了。另有,es 可以和 hadoop 结合,到时候可以用 hive 来查数据。
    另有,es 最好用最新的版本,提升很明显,不要再拿着网上的 2.0 版本的文档看了。
    jahan
        8
    jahan  
    OP
       2018-02-18 20:55:19 +08:00
    @knktc 感谢提示。
    当时也不是知道在玄学知乎上看到说 es 不能很好的保持数据。
    还有一篇文章比较 elk 和 hadoop 的文章说了,数据量不大随便用哪个,数据量大,自己就能体会到。简直太玄学。
    后期会尝试包装一下,因为要兼顾两类用户使用。

    目前配置了最新的 6.2 平台,算是刚刚入门这个。
    mengzhuo
        9
    mengzhuo  
       2018-02-19 15:24:52 +08:00
    我们生产环境 500W/min 写入,查询 2 周内数据也能在 3s 内返回,可以说相当优秀
    只用了 10 多台配置一般的机器,查询速度和效率都挺好的
    不过要注意 index 的规划
    jahan
        10
    jahan  
    OP
       2018-02-19 17:39:33 +08:00
    使用 filebeat 来收集表进入 logstash,然后 logstash 送给 elastisearch。 疑问 1.如果不用 filebeat 或者 logstash 来收集,现在我是通过建立 index,mapping 后,进行手工的数据导入( python 将||分割的 txt 转成 mapping 的 json );假若重新部署一个新的环境,如果想要使用 filebeat 和 logstash 的话,是不是在都不需要在 elasticsearch 上建立 mapping ?只需要建立一个 index,告知 filebeat 和 logstash 数据流送到哪个 index 即可( filebeat 需要建立 templalte )?非常疑惑使用 filebeat 和 logstash 后要不要在 elasticsearch 上建立 mapping。

    疑问 2。根据 create table 语句建立 mapping,有没有特别简单的办法?不用写手写或者 python 程序,就能迅速把 mapping 的 json 根据 create table 语句弄出来?有具体例子就最好了。

    疑问 3。配置文件,f,l,e 都是通过配置文件来设置的,有点糊涂到底需要配置哪些文件来使用呢?看 filebeat.yul,logstash 下面建立自己的 myself.conf,还没有能整体上了解。这里就回到了疑问 1,如何在 filebeat 上建立 mapping,是 template ?

    疑问 4,filebeat 在官方文档里面只是一个 log ship,不进行 parsing,那么就是不会将每一个数据文件里面的 line 变成 json ?
    然后疑问就是 template.json 配置来干嘛呢? logstash 对数据进行 gork 操作,分割符号是 0001 的控制符怎么表示呢?

    raw 数据文本怎么通过 f,l 进入 e 绕的有点晕了。
    ghostwwg
        11
    ghostwwg  
       2018-11-06 11:04:19 +08:00
    以下是我的 filebeats 配置文件:
    -----------------
    cat /etc/filebeat/filebeat.yml
    -----------------
    filebeat:
    spool_size: 1024 # 最大可以攒够 1024 条数据一起发送出去
    idle_timeout: "5s" # 否则每 5 秒钟也得发送一次
    registry_file: ".filebeat" # 文件读取位置记录文件,会放在当前工作
    目录下。所以如果你换一个工作目录执行 filebeat 会导致重复传输!
    config_dir: "/etc/filebeat/conf"

    output.kafka:
    hosts: ["x.x.x.x:9091"]
    topic: '%{[logstash_type]}'
    partition.round_robin:
    reachable_only: false
    required_acks: 1
    compression: gzip
    max_message_bytes: 1000000
    -----------------
    cat /etc/filebeat/conf/pubservice.yml
    -----------------
    filebeat.prospectors:
    -
    tail_files: true
    fields:
    logstash_type: "pubservice"
    paths:
    - /var/log/pubservice.log
    fields_under_root: true
    json:
    message_key: message
    overwrite_keys: true
    keys_under_root: true
    -----------------
    -----------------
    我这边是走 filebeats -> kafka -> logstash -> elasticsearch 的数据流走向

    logstash 根据『 logstash_type 』 字段做判断,塞进不同的 index 里面。

    2: 没明白撒意思,手动建立 mapping 看需求,我是倾向于建的,这边不建立 mapping 的情况下,偶有数据类型不一致会丢

    3: filebeats 只是抽数据的吧,建立 mapping 是在 ES 这里做的,你可以通过 es 的 template 接口去实现指定的 index 匹配一套 mapping.

    4: 看上面的配置文件,grok 这个帮不了你,我也不熟
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1164 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 17:36 PVG 01:36 LAX 10:36 JFK 13:36
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86