如何在flink中的ReadHadoop文件中指定类型信息?

如何在flink中的ReadHadoop文件中指定类型信息?,hadoop,apache-flink,Hadoop,Apache Flink,在从Hadoop获取输入文件时,我无法理解Flink中是如何指定类型信息的。我正在尝试这样做: DataSet<Tuple2<LongWritable,Text>> data = env.readHadoopFile(new TextInputFormat(), LongWritable.class, Text.class, args[0], job, ); 数据集数据= readHadoopFile(新的TextInputFormat(),Lo

在从Hadoop获取输入文件时,我无法理解Flink中是如何指定类型信息的。我正在尝试这样做:

DataSet<Tuple2<LongWritable,Text>> data =
            env.readHadoopFile(new TextInputFormat(), LongWritable.class, Text.class, args[0], job, );
数据集数据=
readHadoopFile(新的TextInputFormat(),LongWritable.class,Text.class,args[0],job,);

文档中说它需要类型信息作为最后一个参数。但我无法理解我应该如何给予它。有人能帮忙吗?

下面是一个简短的示例,说明如何在Flink中使用HadoopInputFormat:

final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();

final String inputPath = ...
final HadoopInputFormat<LongWritable, Text> hadoopFile = HadoopInputs.readHadoopFile(
        new TextInputFormat(),
        LongWritable.class,
        Text.class,
        inputPath);
DataSet<Tuple2<LongWritable, Text>> input = env.createInput(hadoopFile);
final ExecutionEnvironment env=ExecutionEnvironment.getExecutionEnvironment();
最终字符串inputPath=。。。
最终HadoopInputFormat hadoopFile=HadoopInputs.readHadoopFile(
新建TextInputFormat(),
LongWritable.class,
Text.class,
输入路径);
数据集输入=env.createInput(hadoopFile);
编码如下:

org.apache.flink.api.java.hadoop.mapreduce.HadoopInputFormat<LongWritable, Text> hadoopFile = org.apache.flink.hadoopcompatibility.HadoopInputs.readHadoopFile(
            new org.apache.hadoop.mapreduce.lib.input.TextInputFormat(), // extends org.apache.hadoop.mapreduce.lib.input.FileInputFormat
            org.apache.hadoop.io.LongWritable.class,
            org.apache.hadoop.io.Text.class,
            inputPath);

    DataSet<Tuple2<LongWritable, Text>> input = env.createInput(hadoopFile);
org.apache.flink.api.java.hadoop.mapreduce.HadoopInputFormat hadoopFile=org.apache.flink.hadoopcompatibility.HadoopInputs.readHadoopFile(
新建org.apache.hadoop.mapreduce.lib.input.TextInputFormat(),//扩展org.apache.hadoop.mapreduce.lib.input.FileInputFormat
org.apache.hadoop.io.LongWritable.class,
org.apache.hadoop.io.Text.class,
输入路径);
数据集输入=env.createInput(hadoopFile);
除此之外,maven pom还需要这种依赖:

 <dependency>
        <groupId>org.apache.flink</groupId>
        <artifactId>flink-hadoop-compatibility_2.10</artifactId>
        <version>${flink.version}</version>
 </dependency>

org.apache.flink
flink-hadoop-compatibility_2.10
${flink.version}

@franklinsijo这里是指向文档@franklinsijo的链接,它给出了多个定义,但它们都不推荐使用。还有其他方法吗?您可以在
readHadoopFile
doc下看到不推荐使用的方法的替代方法当我执行此方法时,会出现此错误。**“无法自动确定输入格式返回的类型。请改用‘createInput(InputFormat,TypeInformation)’方法显式指定生成类型的TypeInformation。”**您能举例说明如何使用此方法吗@来自[链接]()