flink从hdfs读取数据

dzjeubhm  于 2021-06-25  发布在  Flink
关注(0)|答案(2)|浏览(981)

我是Flink的大一新生,我想知道如何从hdfs读取数据。有谁能给我一些建议或简单的例子吗?谢谢大家。

alen0pnh

alen0pnh1#

如果文件的格式为文本文件格式,则可以使用“executionenvironment”对象中的“readtextfile”方法。
下面是各种数据源的示例(https://ci.apache.org/projects/flink/flink-docs-release-1.3/dev/batch/index.html#data-(来源)

axkjgtzd

axkjgtzd2#

flink可以读取hdfs数据,这些数据可以是文本、json、avro等任何格式。对hadoop输入/输出格式的支持是flinkjavamaven模块的一部分,在编写flink作业时需要这些模块。
示例1:读取名为jsonseries的文本文件并在控制台上打印

final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
DataSet<String> lines = env.readTextFile("hdfs://localhost:9000/user/hadoop/input/JsonSeries.txt")
        .name("HDFS File read");
lines.print();

示例2:使用输入格式

DataSet<Tuple2<LongWritable, Text>> inputHadoop =
        env.createInput(HadoopInputs.readHadoopFile(new TextInputFormat(),
                LongWritable.class, Text.class, "hdfs://localhost:9000/user/hadoop/input/JsonSeries.txt"));
inputHadoop.print();

相关问题