当前位置: 首页 > 知识库问答 >
问题:

使用Apache Flink,如何按时加入zip两个流?

樊令秋
2023-03-14

我有两条小溪。它们都是1小时窗口内的聚合数据。我想压缩这些流,以便将相同时间跨度上的聚合组合在一起,如果现在存在这样的对应匹配,则可能使用空值。

java prettyprint-override">DataStream<OneHourAggA> one = 
    sourceA
      .keyBy(d -> (String) d.values.get("m"))
      .timeWindow(Time.hours(1))
      .apply(new WorkWindwFolder());

DataSteam<OneHourAggB> other = 
     sourceB
       .keyBy(d -> (String) d.values.get("m"))
       .timeWindow(Time.hours(1))
       .apply(new WorkWindwFolder());

DataStream<Tuple2<Option<OneHourAggA>,Option<OneHourAggB>> zipped = 
     sourceA.???(sourceB)

我怎样才能做到这一点?

共有1个答案

顾学真
2023-03-14

您必须使用coGroup操作来执行聚合结果的外部连接。您将对coGroup操作使用相同的时间窗口规范。这是因为前面窗口的聚合结果每个窗口只会生成一个元素,并且该元素将获得分配的该窗口的最大时间戳。

 类似资料:
  • 我有一个C#项目,其中添加了dialogflow google api参考。 我想知道是否可以使用它将zip导入到我的dialogflow代理。 如果我能以某种方式在C#中实现这个功能就太好了。 如有任何帮助/建议,将不胜感激。

  • 我开始使用flink,看看官方教程之一。 据我所知,这个练习的目标是在时间属性上加入两个流。 任务: 此练习的结果是一个Tuple2记录的数据流,每个记录对应一个不同的rideId。您应该忽略结束事件,只在每次骑乘开始时加入事件,并提供相应的票价数据。 生成的流应打印到标准输出。 问:EnrichmentFunction如何连接这两个流aka。它如何知道参加哪个集市和哪个骑行?我希望它能够缓冲多个

  • 问题内容: 我想创建受密码保护的ZIP: 但这只是加密zip中的文件,但我可以打开此zip并查看其中的文件 问题答案: 由于专利问题,Zip4j不支持文件列表的加密。 参见:http : //www.lingala.net/zip4j/forum/index.php?topic=104.0 更新: 如链接中所述。zip规范不包括文件列表的加密。要隐藏文件名,您可以创建一个zip文件,其中包含您的文

  • 问题内容: 条件:请勿修改原始清单;仅JDK,无外部库。一线或JDK 1.3版本的加分点。 有没有比以下更简单的方法: 问题答案: 你可以使用Apache commons-collections库:

  • 问题内容: 目前,我有一个HTML表单,用户可以在其中输入文章的标题和文本。当需要提交时,将显示两个按钮。一种是“保存”他们的文章而不发布它,另一种是“发布”该文章并将其公开。 我正在使用PHP,并且试图找出如何分辨使用了哪个按钮,以便在数据库中存储相应的相应值。 可能应该早些时候提到过,但是我无法分配按钮值,因为按钮是图像,所以文本会显示在其上方。 问题答案: 给每一个属性。仅单击的属性将被发送

  • 问题内容: 我有两个数字。例如: 为什么数字不支持算术运算?无论如何,我将如何在Java中将这两个数字相加?(当然,我是从某个地方获取它们的,我不知道它们是Integer还是float等)。 问题答案: 你不知道数字是整数还是浮点数…使用该类时,编译器也不知道你的数字是整数,浮点数还是其他东西。结果,像+和-这样的基本数学运算符不起作用;计算机将不知道如何处理这些值。 开始编辑 根据讨论,我认为一