结构化流提取每个ID的最新值

时间:2019-02-05 18:41:15

标签: apache-spark dataframe spark-structured-streaming

我有包含ID,类型和值的数据流:对于具有给定 ID 的一组用户,我从不同的传感器(类型)。 传入数据示例:

ID type value
1  A    70
2  B    16
1  A    71
2  A    72

我需要创建一个Spark结构化流应用程序,该应用程序将对获得的数据执行自定义群集。但是,我始终处于起步阶段>我不知道如何创建一组数据,其中将包含每种类型的每个用户的最新度量。我需要为系统中出现的每个用户设置此设置。

因此,基本上,对于上述数据流,我需要一个结构化流应用程序,该应用程序将为我提供每种类型的每个用户的最后一次测量值>

  ID type value
  1  A    71
  2  B    16
  2  A    72

用户可能在一段时间内处于非活动状态,我仍然需要保留他们的记录。如果输出是数据帧,这将很有用。

任何欢迎您这样做的想法。

PS,我对Spark结构化流媒体还不是很陌生,如果这是一个琐碎的问题,对不起。

1 个答案:

答案 0 :(得分:0)

简短的答案是:(当前)Spark结构化流式传输不可能

关于此的许多文章,都没有提出实际可行的解决方案。

考虑一下,实际上这是一个艰巨的任务。

我尝试了各种方法-即使我知道这是不可能的-并总是从Spark中得到一些错误。这些在堆栈溢出中有详细记录。例如:

Structured streaming custom deduplication

Retain last row for given key in spark structured streaming