gpt4 book ai didi

java - Hadoop一次读取2个文件(一个头文件和一个数据文件)

转载 作者:可可西里 更新时间:2023-11-01 15:41:01 25 4
gpt4 key购买 nike

我有这些文件的集合-

objectA-record-data.log 文件 - 包含带有时间戳的多行数据。

objectA-record-metadata.log 文件 - 仅包含一行。将其视为对象 A 的所有记录的元数据。

它们将一起形成一条记录进行处理。

我已经能够处理数据文件了。 mapper 将 objectA 设置为数据文件中所有行的键,reducer 处理并打印文本文件。现在我也想为这些记录中的每一个添加元数据。我该怎么做?

最佳答案

使用分布式缓存:

在驱动/配置类中:

DistributedCache.addCacheFile(new URI("/user/chris/theMetaDataFile.txt"), conf);

在映射器中:

public void setup(Context context) {
Configuration conf = context.getConfiguration();
Path[] cachedFiles = DistributedCache.getLocalCacheFiles(conf);
File metadataFile = new File(chachedFiles[0].toString());

// metadataFile can now be read and the results stored locally for use in the map method
}

关于java - Hadoop一次读取2个文件(一个头文件和一个数据文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13942450/

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