- 一、DataSource
- 二、Transformation
- 三、Sink
Flink DataSet 常用API主要分为3部分:
- DataSource:是程序的数据源的输入,可以自定义数据源;
- transformation:具体的 *** 作,对一个或多个输入进行计算处理;
- Sink:程序的输出,将Transformation处理之后的数据输出到指定的存储介质中;
1、来源
Flink针对DataSet提供了大量的算子:
- Map ,输入一个元素,然后返回一个元素,中间可以进行清洗转换等 *** 作;
- FlatMap ,输入一个元素,可以返回零个、一个或多个元素;
- MapPartition ,类似Map,一次处理一个分区的数据。;
- Filter ,过滤函数,对传入的数据进行判断,符合条件的数据保留;
- keyBy ,根据指定的Key进行分组,Key相同的数据会进入同一个分区;
- Reduce ,对数据进行聚合 *** 作,结合当前元素和上一次Reduce返回的值进行聚合 *** 作,然后返回一个新值;
- Aggregations ,聚合函数,例如:sum(),min(),max()等;
- Distinct,返回一个数据集中去重之后的元素;
- Join ,内连接;
- OuterJoin ,外连接;
- Cross,获取两个数据集的笛卡尔积
- Union ,返回两个数据集的总和,数据类型需要一致;
- First-n ,获取集合中前N个元素;
- Sort Partition ,在本地数据集的所有分区进行排序,通过sortPartition()的链接调用来完成多个字段的排序;
- Hash-Partition ,根据指定的Key的散列值对数据集进行分区;
- Range-Partition ,根据指定的Key对数据集进行范围分区;
- Rebalancing ,对数据集进行再平衡、重分区和消除数据倾斜。
- Custom partitioning,自定义分区。实现Partitioner接口。
partitionCustom(partitioner,“someKey”);
或者
partitionCustom(partitioner,0);
Flink针对DataStream提供大量的已经实现的数据目的地Sink:
- writeAsText() ,将元素以字符串形式逐行写入,这些字符串通过调用每个元素的toString方法来获取;
- writeAsCsv ,将元组以逗号分割写入文件中,行及字段之间的分割是可配置的,每个字段的值来自对象的toString()方法;
- print(),打印每个元素的toString()方法的值到标准输出或者标准错误输出流中。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)