我编写了mapreduce应用程序,它从HBase读取记录并写入文本文件。 我已经使用了自定义分区器类,当我写了这么多,如果基于我写入2k文本文件的其他。
问题是我有2k if if else这样的条件。
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app" ng-controller="ctrl">
</div>
一直持续到2000年。
我尝试过Hashcode但发生了碰撞,我无法正确分离我的键值。
if (str.contains("Japan|^|BUS")) {
return 0;
} else if (str.contains("Japan|^|CAS")) {
return 1;
} else if (str.contains("Japan|^|CUS")) {
return 2;
} else if (str.contains("Japan|^|FTN")) {
return 3;
} else if (str.contains("Japan|^|GEO")) {
return 4;
} else if (str.contains("Japan|^|INC")) {
return 5;
} else if (str.contains("Japan|^|OPM")) {
return 6;
} else if (str.contains("Japan|^|PEN")) {
return 7;
} else if (str.contains("Japan|^|SHE")) {
return 8;
}
我也尝试使用全局HashMap进行hashmap缓存,但这并不适用于所有mapper,因为每个mapper都重新初始化了HashMap。
如果我得到唯一号码,那么在碰撞中也使用%运算结果。
请帮忙。