当前位置:  开发笔记 > 编程语言 > 正文

Hadoop中的序列文件

如何解决《Hadoop中的序列文件》经验,为你挑选了1个好方法。

这些序列文件是如何生成的?我在这里看到了关于序列文件的链接,

http://wiki.apache.org/hadoop/SequenceFile

这些是使用默认的Java序列化器编写的吗?以及如何读取序列文件?



1> Lev Khomich..:

序列文件由MapReduce任务生成,并且可以用作在MapReduce作业之间传输数据的通用格式.

您可以通过以下方式阅读它们:

Configuration config = new Configuration();
Path path = new Path(PATH_TO_YOUR_FILE);
SequenceFile.Reader reader = new SequenceFile.Reader(FileSystem.get(config), path, config);
WritableComparable key = (WritableComparable) reader.getKeyClass().newInstance();
Writable value = (Writable) reader.getValueClass().newInstance();
while (reader.next(key, value))
  // perform some operating
reader.close();

您也可以使用SequenceFile.Writer自己生成序列文件.

示例中使用的类如下:

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.SequenceFile;
import org.apache.hadoop.io.Writable;
import org.apache.hadoop.io.WritableComparable;

并包含在hadoop-coremaven依赖项中:


    org.apache.hadoop
    hadoop-core
    1.2.1

推荐阅读
coco2冰冰
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有