hadoop中的joins与分布式缓存
hadoop中连接和分布式缓存的区别是什么。我真的把地图边连接和减少边连接弄糊涂了。在mapreduce作业中处理数据时,分布式缓存的不同之处。请举例说明。 当做hadoop中的joins与分布式缓存,hadoop,mapreduce,Hadoop,Mapreduce,hadoop中连接和分布式缓存的区别是什么。我真的把地图边连接和减少边连接弄糊涂了。在mapreduce作业中处理数据时,分布式缓存的不同之处。请举例说明。 当做 Ravi假设您有两个数据文件,其中包含以下记录: 单词->频率 两个文件中可以存在相同的单词。 您的任务是合并这些文件,计算每个术语的总频率,并生成聚合文件 映射边连接。 当联接两侧的数据已通过键进行预排序时,此选项非常有用。在这种情况下,它是两个具有线性复杂性的流的简单合并。在我们的示例中,词频数据必须按字母顺序在两个文件中预先排序
Ravi假设您有两个数据文件,其中包含以下记录: 单词->频率 两个文件中可以存在相同的单词。 您的任务是合并这些文件,计算每个术语的总频率,并生成聚合文件 映射边连接。 当联接两侧的数据已通过键进行预排序时,此选项非常有用。在这种情况下,它是两个具有线性复杂性的流的简单合并。在我们的示例中,词频数据必须按字母顺序在两个文件中预先排序 优点:适用于几乎不受限制的输入数据(无需放入内存)。 不需要减速器,因此非常高效 缺点:需要对输入数据进行预排序(例如,由于以前的映射/减少作业) 减少联接。 当我们的文件还没有排序,并且它们太大而无法放入内存时,此功能非常有用。因此,您必须使用带reducer的分布式排序来合并它们 优点:适用于几乎不受限制的输入数据(无需放入内存) 缺点:需要减少阶段 分布式缓存。 当我们的输入字频文件未排序,并且两个文件中的一个文件小到足以放入内存时,此功能非常有用。在这种情况下,您可以将其用作分布式缓存,并将其作为哈希表映射加载到内存中。每个映射器将最大的输入文件作为键值对进行流式处理,并从哈希映射中查找较小文件的值 优点:基于最大输入集大小的高效线性复杂度。不需要减速器 缺点:需要一个输入来适应内存