说明
可读取以下内容:
- 可读取本地资源
- 可读取
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代码,读取文件内容,并打印到控制台