【问题标题】:How to group by timestamp in data or data ingestion time?如何按数据或数据摄取时间中的时间戳分组?
【发布时间】:2017-08-20 03:49:44
【问题描述】:

我可以看到火花流窗口功能仅根据“何时收到数据”进行分组。我想根据数据本身中可用的时间戳字段进行分组。可能吗?

例如 - 数据创建时间戳在下午 1 点作为数据的一部分提供。但 Spark Streaming 在下午 1.05 收到了数据。因此,它应该根据数据中可用的时间戳(下午 1 点)进行分组。

【问题讨论】:

  • 查看 Spark 结构化流的水印

标签: apache-spark pyspark spark-streaming


【解决方案1】:

我想根据数据本身中可用的时间戳字段进行分组。有可能吗?

没有。 Spark Streaming 不提供这样的功能。

您应该改用提供window 功能的Structured Streaming 进行分组。

引用Window Operations on Event Time:

滑动事件时间窗口上的聚合使用结构化流式处理非常简单,并且与分组聚合非常相似。在分组聚合中,为用户指定的分组列中的每个唯一值维护聚合值(例如计数)。在基于窗口的聚合的情况下,将为行的事件时间所在的每个窗口维护聚合值。

【讨论】:

猜你喜欢
  • 2020-04-20
  • 1970-01-01
  • 1970-01-01
  • 2014-09-13
  • 2018-04-28
  • 1970-01-01
  • 1970-01-01
  • 2019-02-24
  • 2021-07-31
相关资源
最近更新 更多