17、数据流操作的深入解析

数据流操作的深入解析

1. 分区状态操作

在数据流处理中, partitionBy 参数起着重要作用。它用于根据 ticker 属性的值对内部状态进行分段。例如,对于一个由 10 个元组组成的窗口,基于 ticker 属性的值对 Src 流进行解复用后,会形成多个子流,独立的聚合操作会在这些子流上进行。也就是说, Aggregate 实例会针对每个分区独立计算最近十个元组的总和。下游的 Functor 则用于计算最终的成交量加权平均价格。

分区有状态运算符的运行时支持也可以进行专门化处理。如果能保证对不同分区的协调访问,那么分区有状态运算符可以更高效地并行化。实际上,逻辑分区的子流可以物理分割成实际的流,并由多个运算符实例独立处理,只要属于同一分区的元组保持在同一流中即可。同时,运行时环境提供的容错支持也可以根据不同分区进行细化和分段。

2. 选择性和元数

非源运算符通常会在元组到达其输入端口之一时执行内部处理逻辑,处理结果可能会使运算符发出一个或多个元组。运算符的选择性和元数这两个属性决定了其接收和产生数据之间的关系。

  • 选择性

    • 固定选择性运算符 :消耗固定数量的入站元组并生成固定数量的出站元组。例如,SPL 标准工具包中的 Barrier 运算符,它用于同步来自多个入站流的数据流。它每次
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值