我在理解Hadoop中减少端的文件合并过程方面有问题,正如在"Hadoop:权威指南“( The )中描述的那样。引用如下:
当所有映射输出都已被复制时,减少任务将进入排序阶段(由于排序是在映射端执行的,因此应该正确地称为合并阶段),该阶段合并映射输出,保持它们的排序顺序。这是分回合完成的。例如,如果有50个映射输出,合并因子为10 (默认情况下,由io.sort.factor属性控制,就像在映射的合并中一样),那么将有五轮。每一轮将10个文件合并为一个,因此在结束时将有5个中间文件。与其进行最后一轮合并,将这五个文件合并到一个排序文件中,不如通过在最后一个阶段--减少阶段--直接输
为了使用Hadoop,我编辑了主机文件并删除了一些行(这些行干扰了正确的操作)。在运行ssh localhost时,我遇到了错误:
kex_exchange_identification: read: Connection reset by peer
配置:
hosts.allow:sshd : ALL : ALL : ALL
hosts.deny:sshd: ALL
hosts:当系统启动时,## #主机##本地主机用于配置回送接口#。不要更改此条目。## 127.0.0.1本地主机255.255.255.255宽幅::1本地主机
ls -ld /etc /etc/ssh* /etc/ssh
我试图实现一个递归的合并排序算法来排序一个简单的整数数组,但是我在数组的下半部分得到了奇怪的索引值。前半部分似乎很好,考虑到它是递归实现的,这让人感到困惑。随机整数数组在我的main方法中初始化。
public class MergeSort {
public static int Rounds = 1;
public static void MergeSort(Comparable[] ToSort, Comparable[] temp, int first, int last) {
if(first < last) {
int mid = (first +