如何解决如何设置作用于多个流的 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 举报,一经查实,本站将立刻删除。