Flink DataSet的常用API

Flink DataSet的常用API,第1张

Flink DataSet的常用API

Fink DataSet 常用API
  • 一、DataSource
  • 二、Transformation
  • 三、Sink

Flink DataSet 常用API主要分为3部分:

  • DataSource:是程序的数据源的输入,可以自定义数据源;
  • transformation:具体的 *** 作,对一个或多个输入进行计算处理;
  • Sink:程序的输出,将Transformation处理之后的数据输出到指定的存储介质中;
一、DataSource

1、来源

DataSource方法描述基于文件readTextFile读取文本文件,主要是HDFS文件基于集合fromCollection主要是为了方便测试 二、Transformation

Flink针对DataSet提供了大量的算子:

  1. Map ,输入一个元素,然后返回一个元素,中间可以进行清洗转换等 *** 作;
  2. FlatMap ,输入一个元素,可以返回零个、一个或多个元素;
  3. MapPartition ,类似Map,一次处理一个分区的数据。;
  4. Filter ,过滤函数,对传入的数据进行判断,符合条件的数据保留;
  5. keyBy ,根据指定的Key进行分组,Key相同的数据会进入同一个分区;
  6. Reduce ,对数据进行聚合 *** 作,结合当前元素和上一次Reduce返回的值进行聚合 *** 作,然后返回一个新值;
  7. Aggregations ,聚合函数,例如:sum(),min(),max()等;
  8. Distinct,返回一个数据集中去重之后的元素;
  9. Join ,内连接;
  10. OuterJoin ,外连接;
  11. Cross,获取两个数据集的笛卡尔积
  12. Union ,返回两个数据集的总和,数据类型需要一致;
  13. First-n ,获取集合中前N个元素;
  14. Sort Partition ,在本地数据集的所有分区进行排序,通过sortPartition()的链接调用来完成多个字段的排序;

Flink针对DataStream提供了一些数据分区规则:

  1. Hash-Partition ,根据指定的Key的散列值对数据集进行分区;
  2. Range-Partition ,根据指定的Key对数据集进行范围分区;
  3. Rebalancing ,对数据集进行再平衡、重分区和消除数据倾斜。
  4. Custom partitioning,自定义分区。实现Partitioner接口。
    partitionCustom(partitioner,“someKey”);
    或者
    partitionCustom(partitioner,0);
三、Sink

Flink针对DataStream提供大量的已经实现的数据目的地Sink:

  1. writeAsText() ,将元素以字符串形式逐行写入,这些字符串通过调用每个元素的toString方法来获取;
  2. writeAsCsv ,将元组以逗号分割写入文件中,行及字段之间的分割是可配置的,每个字段的值来自对象的toString()方法;
  3. print(),打印每个元素的toString()方法的值到标准输出或者标准错误输出流中。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5676965.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存