戳更多文章:

1-Flink入门

2-本地环境搭建&构建第一个Flink应用

3-DataSet API

4-DataSteam API

5-集群部署

6-分布式缓存

7-重启策略

8-Flink中的窗口

9-Flink中的Time

Flink时间戳和水印

Broadcast广播变量

FlinkTable&SQL

Flink实战项目实时热销排行

Flink写入RedisSink

17-Flink消费Kafka写入Mysql

DataStream算子将一个或多个DataStream转换为新DataStream。程序可以将多个转换组合成复杂的数据流拓扑。
DataStreamAPI和DataSetAPI主要的区别在于Transformation部分。

DataStream Transformation

map

  • DataStream→DataStream
    用一个数据元生成一个数据元。一个map函数,它将输入流的值加倍:
DataStream<Integer> dataStream = //...
dataStream.map(new MapFunction<Integer, Integer>() {
@Override
public Integer map(Integer value) throws Exception {
return 2 * value;
}
});

公众号

  • 全网唯一一个从0开始帮助Java开发者转做大数据领域的公众号~
  • 大数据技术与架构或者搜索import_bigdata关注~
  • 海量【java和大数据的面试题+视频资料】整理在公众号,关注后可以下载~
 
image

FlatMap

  • DataStream→DataStream

采用一个数据元并生成零个,一个或多个数据元。将句子分割为单词的flatmap函数:

dataStream.flatMap(new FlatMapFunction<String, String>() {
@Override
public void flatMap(String value, Collector<String> out)
throws Exception {
for(String word: value.split(" ")){
out.collect(word);
}
}
});

Filter

  • DataStream→DataStream
    计算每个数据元的布尔函数,并保存函数返回true的数据元。过滤掉零值的过滤器:
dataStream.filter(new FilterFunction<Integer>() {
@Override
public boolean filter(Integer value) throws Exception {
return value != 0;
}
});

KeyBy

  • DataStream→KeyedStream

逻辑上将流分区为不相交的分区。具有相同Keys的所有记录都分配给同一分区。在内部,keyBy()是使用散列分区实现的。指定键有不同的方法。

此转换返回KeyedStream,其中包括使用被Keys化状态所需的KeyedStream。

dataStream.keyBy("someKey") // Key by field "someKey"
dataStream.keyBy(0) // Key by the first element of a Tuple

最新文章

  1. iOS可执行文件瘦身方法
  2. Visual Studio 2015速递(1)——C#6.0新特性怎么用
  3. android加固系列—6.仿爱加密等第三方加固平台之动态加载dex防止apk被反编译
  4. Android开发者必备的42个链接
  5. Linux下搭建svn服务器(转)
  6. eclipse导入maven web 项目 但是不显示成web 项目
  7. 基于Android Volley的网络请求工具
  8. 前端面试题整理(css)
  9. ASP_Login
  10. 如何用js实现自适应,原来只是几行代码的事(╯‵□′)╯︵┻━┻
  11. python的MySQLdb模块在linux环境下的安装
  12. Linux时间子系统之一:认识timer_list和timer_stats和使用
  13. uWSGI 踩坑记
  14. 20175213吕正宏 MyCP(课下任务,必做)
  15. MSSQL sql server order by 1,2 的具体含义
  16. db2错误代码大全
  17. Java线程和多线程(九)——死锁
  18. Debian run jar like a native program
  19. 分布式锁之一:zookeeper分布式锁1
  20. POJ 1187 陨石的秘密 (线性DP)

热门文章

  1. []T 还是 []*T, 这是一个问题
  2. 安装VMware错误,Microsoft Runtime DLL 安装程序未能完成安装
  3. linux学习之路(3)
  4. js的赋值问题:值传递还是引用传递?
  5. web service 的跨语言特性
  6. Mtcnn进行人脸剪裁和对齐B
  7. 神奇的Scala Macro之旅(四)- BeanBuilder
  8. :Android网络编程--XML之解析方式:SAX
  9. 为自己搭建一个分布式 IM 系统二【从查找算法聊起】
  10. Java8新特性之三:Stream API