gpt4 book ai didi

java - Hadoop 中的序列文件

转载 作者:可可西里 更新时间:2023-11-01 14:13:11 26 4
gpt4 key购买 nike

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

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

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

最佳答案

序列文件由 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-core maven 依赖项中:

<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-core</artifactId>
<version>1.2.1</version>
</dependency>

关于java - Hadoop 中的序列文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5096128/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com