[Flink]数据流

2021/01/01 Flink

数据流

img

source

  • 基于集合

    1、fromCollection(Collection) - 从 Java 的 Java.util.Collection 创建数据流。集合中的所有元素类型必须相同。
      
    2、fromCollection(Iterator, Class) - 从一个迭代器中创建数据流。Class 指定了该迭代器返回元素的类型。
      
    3、fromElements(T …) - 从给定的对象序列中创建数据流。所有对象类型必须相同。
      
    4、fromParallelCollection(SplittableIterator, Class) - 从一个迭代器中创建并行数据流。Class 指定了该迭代器返回元素的类型。
      
    5、generateSequence(from, to) - 创建一个生成指定区间范围内的数字序列的并行数据流。
    
  • 基于文件

    1、readTextFile(path) - 读取文本文件,即符合 TextInputFormat 规范的文件,并将其作为字符串返回。
      
    2、readFile(fileInputFormat, path) - 根据指定的文件输入格式读取文件(一次)。
      
    3、readFile(fileInputFormat, path, watchType, interval, pathFilter, typeInfo) - 这是上面两个方法内部调用的方法。它根据给定的 fileInputFormat 和读取路径读取文件。根据提供的 watchType,这个 source 可以定期(每隔 interval 毫秒)监测给定路径的新数据(FileProcessingMode.PROCESS_CONTINUOUSLY),或者处理一次路径对应文件的数据并退出(FileProcessingMode.PROCESS_ONCE)。你可以通过 pathFilter 进一步排除掉需要处理的文件。
    
  • 基于socket

    socketTextStream(String hostname, int port) - 从 socket 读取。元素可以用分隔符切分。
    
  • 自定义

    img

compute

Compute 其实就是 Flink 干的事情,可以做一系列的操作,操作完后就把计算后的数据结果 Sink 到某个地方。后面再学习算子。

具体实例建议参考

http://www.54tianzhisheng.cn/2018/11/04/Flink-Data-transformation/

sink

支持sink

img

img

可以看到有 Kafka、ElasticSearch、Socket、RabbitMQ、JDBC、Cassandra POJO、File、Print 等 Sink 的方式。

Search

    Table of Contents