gpt4 book ai didi

hadoop - Map Reduce 中的键值

转载 作者:可可西里 更新时间:2023-11-01 16:47:32 24 4
gpt4 key购买 nike

我只是 Hadoop 框架的初学者。我想在这里了解几个概念,我浏览了很多链接,但我想得到明确的答案1) 为什么 Map reduce 只适用于键值对。我还读到我可以创建一个 Map reduce 作业而无需实际使用 reduce2)Mapping阶段的输入key是fileoffset key。我可以使用显式键值吗?还是自定义输入?

最佳答案

很好,您正在挖掘 hadoop 概念。

1) 我可以使用显式键值吗?或自定义输入?:是的,编写您自己的(覆盖)RecordReader 来执行此操作。

2) 为什么 Map reduce 只适用于键值对?:MapReduce,顾名思义,程序只是将需要的数据从提供给程序的数据集中映射(过滤)到 Reduce(基于唯一键的组合)。现在,为什么是键值对?:由于您正在处理非结构化数据,因此人们不希望获得与输出相同的结果。我们将需要对数据进行一些操作。想想在 java 中使用 Map,它有助于唯一地标识对,在 hadoop 中借助 Sort & Shuffle 也是如此。

在不实际使用 reduce 的情况下创建一个 Map reduce 作业?:当然,完全取决于但建议仅用于小型操作,并且在不需要组合映射器输出以获得预期输出的情况下。

原因:这里是Distributed的概念,商品硬件要优先考虑。例如:我有一个大数据集要处理。在使用 java 程序(只是 java,不是 hadoop)处理数据集时,我们将所需的存储在 Collection 对象中(就像使用 RAM 空间一样简单)。引入 Hadoop 以不同的方式完成相同的工作:将所需数据存储在 context 中。 mapper中的Context是指Intermediate data(Local FS),reducer中是指Output(HDFS)。当然,两种情况下的Context都存储在HardDisk中。

Hadoop 有助于在硬盘而不是 RAM 中进行所有计算。

我建议阅读 Hadoop Defenitive GuideData Algorithms 书以更好地理解。

关于hadoop - Map Reduce 中的键值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35738874/

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