微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何设置作用于多个流的 Flink Operator

如何解决如何设置作用于多个流的 Flink Operator

我正在考虑将 Flink 用于流式引擎。我来自 apache-storm,据我所知,storm 的 Bolt 类似于 Flink 的任务/操作员。在风暴中可以有

 builder.setBolt("TEST",new TestBolt(),5)
        .fieldsGrouping("Source1","ID1")
        .fieldsGrouping("Source2","ID2)
        .fieldsGrouping("Source3","ID1")
        .allGrouping("Source4");

我怎样才能用 Flink 实现类似的东西。基本上,我希望我的测试 Bolt 具有来自 Source2、source3、source4 的状态,并在来自源 1 的数据到来时进行一些计算。

解决方法

您在 Flink 中组合流的选项包括 <ComboBox ItemsSource="{Binding DataContext.ListaPedidosPendientes,RelativeSource={RelativeSource FindAncestor,AncestorType=UserControl}}" DisplayMemberPath="numero"> <ComboBox.Style> <Style TargetType="{x:Type ComboBox}"> <Setter Property="Visibility" Value="Visible"/> <Style.Triggers> <DataTrigger Binding="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type ListBoxItem}},Path=IsSelected}" Value="False"> <Setter Property="Visibility" Value="Collapsed"/> </DataTrigger> <DataTrigger Binding="{Binding RelativeSource={RelativeSource Self},Path=Items.Count}" Value="0"> <Setter Property="Visibility" Value="Collapsed"/> </DataTrigger> </Style.Triggers> </Style> </ComboBox.Style> </ComboBox> (用于合并 n 个相同类型的流),union 用于使用 CoFlatMap 或 CoProcessFunction 联合处理任意类型的两个流,以及 {{1 }}。

在某些情况下,最好构建一种二叉树,例如,连接流 1 和 2 以形成流 12,并分别连接流 3 和 4 以创建流 34,然后将流 12 与流 34 连接。

另一种方法是创建某种联合类型,它可以保存来自任何流的对象,然后使用联合来合并流。 Flink 包含一个 connect 类型,可以在这些情况下提供帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。