如何在mapreduce程序中输出序列文件

2izufjch  于 2021-05-30  发布在  Hadoop
关注(0)|答案(0)|浏览(212)

我有一个map reduce作业,它将avro文件作为输入,因此Map器扩展了 AvroMapper 班级。这是驱动程序

public static void main(String[] args) throws Exception {

    //Job configuration
    JobConf conf = new JobConf(SeqFileGenerator.class);
    conf.setJobName("Sequence File Generator");

    FileInputFormat.setInputPaths(conf, new Path("in"));
    FileOutputFormat.setOutputPath(conf, new Path("out"));

    AvroJob.setMapperClass(conf, AvroReaderMapper.class);

    AvroJob.setInputSchema(conf, ContentPackage.SCHEMA$);       
    AvroJob.setOutputSchema(conf, Pair.getPairSchema(Schema.create(Type.STRING),Schema.create(Type.INT)));

    JobClient.runJob(conf);

}

如代码所示,我必须使用 AvroJob 类来定义我的工作。我想让我的程序输出一个序列文件,但看起来我必须为输出定义一个模式,否则它不会运行。换句话说,输出必须是avro!!如何在这个程序中输出序列文件?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题