sách gpt4 ai đã đi

hadoop - 分区! hadoop是怎么做到的?使用哈希函数?默认功能是什么?

In lại 作者:可可西里 更新时间:2023-11-01 14:15:45 hai mươi bốn 4
mua khóa gpt4 Nike

分区是确定哪个 reducer 实例将接收哪些中间键和值的过程。每个映射器必须为其所有输出(键、值)对确定哪个缩减器将接收它们。有必要对于任何键,无论哪个映射器实例生成它,目标分区都是相同的问题:hadoop是怎么做到的?使用哈希函数?默认功能是什么?

1 Câu trả lời

Hadoop 中的默认分区器是 HashPartitioner,它有一个名为 getPartition 的方法。它采用 key.hashCode() & Integer.MAX_VALUE 并使用 reduce 任务的数量找到模数。

例如,如果有 10 个 reduce 任务,getPartition 将为所有键返回 0 到 9 的值。

Mã như sau:

public class HashPartitioner extends Partitioner {
public int getPartition(K key, V value, int numReduceTasks) {
return (key.hashCode() & Integer.MAX_VALUE) % numReduceTasks;
}
}

要创建自定义分区器,您可以扩展 Partitioner,创建一个方法 getPartition,然后在驱动程序代码中设置您的分区器 (job.setPartitionerClass(CustomPartitioner .class);).例如,这在进行二次排序操作时特别有用。

关于hadoop - 分区! hadoop是怎么做到的?使用哈希函数?默认功能是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18470833/

hai mươi bốn 4 0
Bài viết được đề xuất: windows - IIS7 只允许访问本地网络
Bài viết được đề xuất: hadoop - Sort 在 MapReduce 阶段用在什么地方,为什么?
Bài viết được đề xuất: Lệnh Hadoop
Bài viết được đề xuất: Hadoop安装错误, "error : cannot execute hdfs-config.sh."
可可西里
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com