如何将.txt文件转换为Hadoop的序列文件格式

为了有效地利用Hadoop中的 map-

reduce作业,我需要将数据以hadoop的序列文件格式存储。但是,当前数据仅是平面.txt格式。有人可以建议我将.txt文件转换为序列文件的方法吗?

回答:

因此,最简单的答案就是只有一个具有SequenceFile输出的“身份”工作。

在Java中看起来像这样:

    public static void main(String[] args) throws IOException,

InterruptedException, ClassNotFoundException {

Configuration conf = new Configuration();

Job job = new Job(conf);

job.setJobName("Convert Text");

job.setJarByClass(Mapper.class);

job.setMapperClass(Mapper.class);

job.setReducerClass(Reducer.class);

// increase if you need sorting or a special number of files

job.setNumReduceTasks(0);

job.setOutputKeyClass(LongWritable.class);

job.setOutputValueClass(Text.class);

job.setOutputFormatClass(SequenceFileOutputFormat.class);

job.setInputFormatClass(TextInputFormat.class);

TextInputFormat.addInputPath(job, new Path("/lol"));

SequenceFileOutputFormat.setOutputPath(job, new Path("/lolz"));

// submit and wait for completion

job.waitForCompletion(true);

}

以上是 如何将.txt文件转换为Hadoop的序列文件格式 的全部内容, 来源链接: utcz.com/qa/397333.html

回到顶部