【问题标题】:Denormalizing data from Kibana对来自 Kibana 的数据进行非规范化处理
【发布时间】:2016-08-26 22:15:49
【问题描述】:

一旦数据已经加载到 elasticsearch/kibana 中,有没有办法对数据进行非规范化?这是我正在尝试做的一个具体示例:

如果您有这样的汽车销售记录: “汽车销售”、“Camaro”、“20,000 美元” “汽车销售”、“马里布”、“15,000 美元” “汽车销售”、“开拓者”、“23,000 美元” “汽车销售”、“融合”、“18,000 美元”

您有单独的记录,其中包含有关这些汽车的更多信息: “科迈罗”、“雪佛兰” “马里布”、“雪佛兰” “开拓者”、“雪佛兰” “融合”、“福特”

我要生成的图表是基于品牌汇总的汽车价格,那么雪佛兰与福特的总价格是多少?一种选择是在将数据加载到 elasticsearch 之前对其进行非规范化处理,但我觉得这会迫使我预先知道我的数据是什么,并且不能很好地适应变化。

因此,我可以根据我拥有的汽车销售记录生成条形图,并按特定型号的汽车获取价格,但那时,我无法访问那些让我能够汇总汽车的其他记录,因为它们存在于单独的记录中。我觉得我想在 kibana 图表的过滤器框中“开始一个新查询”,但看起来你不能这样做?还有其他想法吗?

【问题讨论】:

    标签: elasticsearch kibana


    【解决方案1】:

    Elasticsearch/Kibana 确实不支持关系意义上的联接。

    在对数据进行建模之前,您确实需要知道您计划的使用情况,但您仍然可以灵活地做事。

    您只需要愿意从源重新加载您的数据并在此时对其进行非规范化。将记录重新加载到 elasticsearch 可以每秒数千次的速度完成,因此除非您拥有全世界的销售记录,否则重新索引数据不会花费您超过几个小时的时间。

    【讨论】:

    • 谢谢,在花更多时间研究之后,这是有道理的。谢谢你的回答。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-30
    • 2018-12-12
    • 1970-01-01
    • 2013-03-08
    • 2010-10-22
    • 2017-10-05
    • 2017-05-02
    相关资源
    最近更新 更多