ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

union,connect,Iterate,project

2022-01-08 23:33:24  阅读:191  来源: 互联网

标签:DataStream feedback union value filter connect 算子 Iterate


union,connect,Iterate,project

union算子是把多个task的算子合并成一个算子,(注意这多个算子的类型是要一致的)

DataStream* → DataStream ,下图是语法格式

dataStream.union(otherStream1, otherStream2, ...);

connect算子也是合并算子不过和union不一样。它只是外面包了一层,内部还是隔离开的。这要合并的俩个算子的数据类型是可以完全不一致的。要操作这个connectedStream一般有comap和coflatmap俩种方式。

map和flatmap算子是重写一种逻辑就可以了,comap和coflatmap是要分别对俩个合并算子重写运算逻辑的。

connectedStream算子是不能使用sink操作的,所以它只是一种中间步骤的数据处理。它主要是使用在俩个之间的状态共享这种场景下使用

DataStream,DataStream → ConnectedStream 

Iterate算子是执行迭代计算使用的,下面是典型的一段iterator算子使用代码

1,iterate()开启循环

2.执行循环内的操作

3.一般用用filter来产生一个feedback判断是否继续循环

4.closewith(feedback) 形成一个循环块

5.一般再用一个filter来判断什么时候退出循环。

IterativeStream<Long> iteration = initialStream.iterate();
DataStream<Long> iterationBody = iteration.map (/*do something*/);
DataStream<Long> feedback = iterationBody.filter(new FilterFunction<Long>(){
    @Override
    public boolean filter(Long value) throws Exception {
        return value > 0;
    }
});
iteration.closeWith(feedback);
DataStream<Long> output = iterationBody.filter(new FilterFunction<Long>(){
    @Override
    public boolean filter(Long value) throws Exception {
        return value <= 0;
    }
});

project 投影算子的

这个算子是用来从元组中抽取子集的,参数是元组中元素的下标

 

 

标签:DataStream,feedback,union,value,filter,connect,算子,Iterate
来源: https://www.cnblogs.com/xstCoding/p/15779992.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有