Spark Structured Streaming流流连接问题

时间:2018-09-11 13:36:02

标签: apache-spark spark-structured-streaming

场景与经典的流流连接稍有不同

streamA :事务流:transTS,用户ID,产品ID,...

streamB :创建的新产品流:productid,productname,createTS等...

我想使用productIds加入交易,但是我找不到水印/加入条件的组合来实现这一点。

streamA_wm = streamA.withWatermark("transTS", "3 minutes")
streamB_wm = streamB.withWatermark("createTS", "1 day")

streamA_wm
   .join(streamB_wm, "productId AND transTS >= createTS", "leftOuter")

结果为空。

我在做什么错了?

1 个答案:

答案 0 :(得分:1)

我认为您可能在这里使用错误的方法。虽然产品在创建和更新时具有事务性,但它们是相对于其他事务流的元数据。

我建议以下内容:

  1. 将事务流加入到未经过流处理的参考数据产品中。
  2. 请勿缓存产品,这可确保您获取源代码。
  3. 对产品使用KUDU实木复合地板。

但是可能有一个产品流的原因,但是...如果不再进行产品更新,而您又通过交易流又获得了该产品的数据,会发生什么呢?