我是Flink的大一新生,我想知道如何从hdfs读取数据。有谁能给我一些建议或简单的例子吗?谢谢大家。
alen0pnh1#
如果文件的格式为文本文件格式,则可以使用“executionenvironment”对象中的“readtextfile”方法。下面是各种数据源的示例(https://ci.apache.org/projects/flink/flink-docs-release-1.3/dev/batch/index.html#data-(来源)
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();
2条答案
按热度按时间alen0pnh1#
如果文件的格式为文本文件格式,则可以使用“executionenvironment”对象中的“readtextfile”方法。
下面是各种数据源的示例(https://ci.apache.org/projects/flink/flink-docs-release-1.3/dev/batch/index.html#data-(来源)
axkjgtzd2#
flink可以读取hdfs数据,这些数据可以是文本、json、avro等任何格式。对hadoop输入/输出格式的支持是flinkjavamaven模块的一部分,在编写flink作业时需要这些模块。
示例1:读取名为jsonseries的文本文件并在控制台上打印
示例2:使用输入格式