【问题标题】:Compute timeseries in a streaming way using input time-series from disparates sources使用来自不同来源的输入时间序列以流方式计算时间序列
【发布时间】:2018-01-30 16:16:22
【问题描述】:

我开发并维护了一个显示指标数据的网络应用。 这些指标主要是时间序列,有规律的分辨率来自 传感器、可编程逻辑控制器等。其中一些时间序列是 措施(如温度等)和其他一些是计算的结果 使用其他时间序列作为输入。这些措施来自不同的来源 具有不同的格式、协议和可用性延迟。它们都是面向批处理的 现在,但面向流的即将推出。

目前数据的导入是使用 Apache Camel 完成的,它将数据存储到一个 数据库。然后由“自制”批处理程序完成指标的计算 每次批量导入完成时由 apache Camel 调用,向该脚本提供导入时间序列的开始和结束日期以及某种命名空间,以仅处理批处理所涉及的时间序列。

虽然此解决方案目前有效,但由于其批量定向,它存在一些缺点。我开始为未来的改进考虑更好的解决方案。

更准确地说,我需要一个能够生成输出时间序列的系统 通过对输入时间序列应用数学运算,事情就像

tsout = (t1+t2) / t3

考虑到输入 (t1, t2, t3) 不能同时使用,因为 它们来自不同的来源(一些来自批处理,一些来自流......)。一些 计算的时间序列用作其他一些的输入。所有这些创造 依赖关系图。

是否有一些设计模式、工具、框架甚至“概念” 可以帮助我改进指标的生成/计算 随着数据的到来,“流式传输”方式,抽象不同的来源和 考虑依赖关系?

我查看了 apache Kafka、Flink、Spark 等框架。但我怀疑它们 真正满足我的需求。他们允许做stream / event processing 但我 不确定这是指我需要做的相同类型的处理。

希望我的问题足够清楚,不容易解释。

【问题讨论】:

    标签: architecture apache-kafka time-series stream-processing


    【解决方案1】:

    数据库中没有这些信息吗? 像行创建/更新/ ...时间之类的东西。然后,您将拥有所有可用的数据,并且可以根据您拥有的各个字段进行自定义和比较。

    【讨论】:

      猜你喜欢
      • 2021-09-19
      • 2020-05-12
      • 1970-01-01
      • 1970-01-01
      • 2017-03-19
      • 2014-02-11
      • 1970-01-01
      • 1970-01-01
      • 2013-03-24
      相关资源
      最近更新 更多