MapReduce默认分区Hash Partitioner怎么使用
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,这篇文章主要讲解了"MapReduce默认分区Hash Partitioner怎么使用",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"MapReduce
千家信息网最后更新 2025年12月03日MapReduce默认分区Hash Partitioner怎么使用
这篇文章主要讲解了"MapReduce默认分区Hash Partitioner怎么使用",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"MapReduce默认分区Hash Partitioner怎么使用"吧!
1,mapreduce默认的分区方式
默认分区的源码
public int getPartition(K2 key, V2 value,int numReduceTasks) { return (key.hashCode() & Integer.MAX_VALUE) % numReduceTasks;}key.hashCode(),是对map输出的key取hashCode值
&是java中与运算符,即按照二进制的理解就是同为1则1,否则为0
Demo:
public class test{public static void main(String[] args){int a = 129int b = 128System.out.println(a&b); // 128}}/*解析:"a"是129,转换成二进制是:10000001"b"是128,转换成二进制是:10000000按照&与的特性:1与1为11与0为0so,结果:10000000 即128*/
所以,key.hashCode()&Integer.MAX_VALUE是要保证任何map端输出的key与numReduceTashs取模后决定的分区为正整数
2,常见数据的hashCode值
1,int类型的数值
public void test(){ for ( int i = -3 ; i <=3 ; i++ ){ System.out.println(((Integer)i).hashCode) }}/*-3-2-10123*/由此可见,对于int数据而言,它的hashCode值就是其包装类型Integer本身,也有正负之分。
2,解决int类型数据hashCode值取模出现负数而影响分区的方式
public void test(){ for ( int i = -3 ; i <= 3 ; i++){ int n = (Integer(i)).hashCode(); System.out.println( n & Integer.MAX_VALUE); }}/*2147483645214748364621474836470123*/由此可见,hashCode值如果是负数的话,可以对其与Integer.MAX_VALUE按位运算,之后其结果变成**正数**
3,字符类型的hashCode值
public void test(){ for(int i = (int)'a'; i<=(int)'a'+25;i++ ) { String str = String.valueOf((char)i); System.out.print((char)i+"->"+str.hashCode()+"\n");}/*a->97b->98...x->120y->121z->122*/由此可见,英文a->z或A->Z的hashCode值就是其对应的整型数值
感谢各位的阅读,以上就是"MapReduce默认分区Hash Partitioner怎么使用"的内容了,经过本文的学习后,相信大家对MapReduce默认分区Hash Partitioner怎么使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
就是
类型
二进制
数据
由此
由此可见
学习
内容
数值
方式
结果
负数
输出
运算
字符
常见
思路
情况
整数
文章
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库系统安全的认识
wifi网络安全选哪个
开源dns服务器管理系统
数据库基础及应用mysql
什么语言可以连接数据库
三维地质建模软件开发商合作
企业网络安全安装
mmi软件开发工程师是干啥的
武威网络安全工程师的一天
xls表写入数据库
软件开发FPA表
国家网络安全总部
怀柔区品质软件开发价格信息
辽宁食品行业进口软件服务器软件
服务器管理口配地址
家庭无线网络安全配置是什么
游戏世界服务器下载
win10网络安全降低
软件开发外包公司排
如何让数据库占用空间
怎么进行服务器安全加固
认证后端请求电信认证服务器超时
网络安全年度工作总结模板
淄博专业软件开发
郑州 软件开发 黄耀辉
网络安全强国思想
礼县软件开发项目管理
自建数据库举例
常德网络安全法培训班
语音聊天软件开发哪些分类