Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
hadoop中的joins与分布式缓存_Hadoop_Mapreduce - Fatal编程技术网

hadoop中的joins与分布式缓存

hadoop中的joins与分布式缓存,hadoop,mapreduce,Hadoop,Mapreduce,hadoop中连接和分布式缓存的区别是什么。我真的把地图边连接和减少边连接弄糊涂了。在mapreduce作业中处理数据时,分布式缓存的不同之处。请举例说明。 当做 Ravi假设您有两个数据文件,其中包含以下记录: 单词->频率 两个文件中可以存在相同的单词。 您的任务是合并这些文件,计算每个术语的总频率,并生成聚合文件 映射边连接。 当联接两侧的数据已通过键进行预排序时,此选项非常有用。在这种情况下,它是两个具有线性复杂性的流的简单合并。在我们的示例中,词频数据必须按字母顺序在两个文件中预先排序

hadoop中连接和分布式缓存的区别是什么。我真的把地图边连接和减少边连接弄糊涂了。在mapreduce作业中处理数据时,分布式缓存的不同之处。请举例说明。 当做
Ravi

假设您有两个数据文件,其中包含以下记录:

单词->频率

两个文件中可以存在相同的单词。 您的任务是合并这些文件,计算每个术语的总频率,并生成聚合文件

映射边连接。

当联接两侧的数据已通过键进行预排序时,此选项非常有用。在这种情况下,它是两个具有线性复杂性的流的简单合并。在我们的示例中,词频数据必须按字母顺序在两个文件中预先排序

优点:适用于几乎不受限制的输入数据(无需放入内存)。 不需要减速器,因此非常高效

缺点:需要对输入数据进行预排序(例如,由于以前的映射/减少作业)

减少联接。

当我们的文件还没有排序,并且它们太大而无法放入内存时,此功能非常有用。因此,您必须使用带reducer的分布式排序来合并它们

优点:适用于几乎不受限制的输入数据(无需放入内存)

缺点:需要减少阶段

分布式缓存。

当我们的输入字频文件未排序,并且两个文件中的一个文件小到足以放入内存时,此功能非常有用。在这种情况下,您可以将其用作分布式缓存,并将其作为哈希表映射加载到内存中。每个映射器将最大的输入文件作为键值对进行流式处理,并从哈希映射中查找较小文件的值

优点:基于最大输入集大小的高效线性复杂度。不需要减速器

缺点:需要一个输入来适应内存