gpt4 book ai didi

hadoop - 获取仅包含一个键值的输出文件?

转载 作者:行者123 更新时间:2023-12-02 20:11:33 25 4
gpt4 key购买 nike

我有一个使用 Hadoop 的用例,我希望我的输出文件可以按键拆分。目前,我让 reducer 简单地输出迭代器中的每个值。例如,这里有一些 python 流代码:

for line in sys.stdin:
data = line.split("\t")
print data[1]

此方法适用于小型数据集(大约 4GB)。作业的每个输出文件仅包含一个键的值。

但是,如果我增加数据集的大小(超过 40GB),那么每个文件都包含按排序顺序混合的键。

有没有更简单的方法来解决这个问题?我知道输出将按排序顺序进行,我可以简单地进行顺序扫描并添加到文件中。但似乎这不是必需的,因为 Hadoop 会为您排序和拆分 key 。

问题可能不是最清楚的,所以我会澄清是否有人有任何意见。谢谢

最佳答案

好的,然后创建一个 custom jar implementation您的 MapReduce 解决方案并选择 MultipleTextOutputFormat成为所使用的输出格式 here .您只需发出文件名(在您的情况下为键)作为 reducer 中的键,并将整个有效负载作为值,您的数据将写入名为您的键的文件中。

关于hadoop - 获取仅包含一个键值的输出文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14963331/

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