flink1.12.x source数据源-文件

说明

可读取以下内容:

  • 可读取本地资源
  • 可读取 HDFS 资源
  • 读取一个文本文件
  • 读取一个 压缩包
  • 读取 一个目录 下的所有文件

分析

Flink适合处理流式数据,即:数据源源不断流入,文件不适合这种场景,很少使用

api

  • readTextFile(path)- TextInputFormat 逐行读取文本文件,并将其作为字符串返回,只读取一次。

  • readFile(fileInputFormat, path) -根据指定的文件输入格式读取文件,只读取一次。

例子

读取 hdfs 文件,也可以读取本地文件

java代码

public static void main(String[] args) throws Exception {
    StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
    DataStream<String> ds = env.readTextFile("hdfs://hadoop1:8020/test/data2.txt");
    ds.print();
    env.execute("test");
}

准备文件

将文件上传到 hadoop 的 /test/data2.txt

测试

运行java代码,读取文件内容,并打印到控制台


原文出处:/show_1IX42IcUlcWU.html