V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
code2019
V2EX  ›  程序员

恳请前辈指导,大数据 OLAP 实时数据分析方案,可行性分析

  •  
  •   code2019 · 2019-11-04 15:45:27 +08:00 · 1196 次点击
    这是一个创建于 1870 天前的主题,其中的信息可能已经有所发展或是发生改变。

    基于终端埋点的业务场景,目前想实现一个基于以下格式的埋点协议,基于这样结构的数据进行数据分析。

    1.1||iOS 12.4||[email protected]||1278797398423sdfeef||1920*1080||CN||1001||{"id":202,"cpu":23,"memory":12,"type":1,"des":"login event"}
    1.1||iOS 12.4||[email protected]||1278797398423sdfeef||1920*1080||CN||1002||{"type":1,"time":100,"rate":0.12,"des":"login crash"}
    

    以上格式说明:

    • id_version:1.1

    • system_version:iOS 12.4

    • account:[email protected]

    • uuid:1278797398423sdfeef

    • resolution:1920*1080

    • language:CN

    • eventid:1001

    • args:{"id":202,"cpu":23,"memory":12,"type":1,"des":"login event"}

      注意:这里 args 作为实时数据分析的扩展字段,每一个 key 都有可能进行数据指标维度得统计。并且每个 eventid 对应的 args 扩展字段( json )都是不一定的。

    例如统计

    • 1001 事件 cpu 大于 50 的数据有多少个
    • 1002 事件 time 大于 100 的 crash 率

    现状:目前使用 grafana 进行数据指标呈现,InfluxDB 进行原始数据存储,可以进行简单的数据实时分析。但是 InfluxDB 不支持 JSON 字段的索引。一个简单的办法就是对每一个 eventid 进行分表,但是带来的问题就是 InfluxDB 不支持 join 查询,不能对多个 eventid 进行查询。

    想请教一下,在这种场景得情况下,想把 args 字段作为通用字段,是否可以实现实时查询和统计的功能。

    • 例如:druid、clickhouse、flink 等等技术栈是否符合这种嵌套 json 字段查询场景。druid 需要事先定义好 schema,进行预聚合,所以可以达到实时分析的目的,但是这种 json 类型的字段,在 druid 中是否可以进行快速查询和分析。

    • 或是是否有更好的技术实现这样的场景

    • 是否这种 OLAP 平台只能支撑某一个固定结构(定义好结构,并且确定指标维度)的实时查询

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5627 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 06:34 · PVG 14:34 · LAX 22:34 · JFK 01:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.