キーとして次の文字列があります。以下のコーディングから、多くのレデューサーがありますが、すべてのキーが同じレデューサーに送られていることがわかります。結局、同じレデューサーが過負荷になります。各key(String)を異なるレデューサーに移動させたいです。plsはこの問題で私を助けます。ありがとう!
String a = "71 1 2";
String b = "72 1 1";
String c = "70 1 3";
int hash_a = a.hashCode();
int hash_b = b.hashCode();
int hash_c = c.hashCode();
int part_a = hash_a % 10;
int part_b = hash_b % 10;
int part_c = hash_c % 10;
System.out.println("hash a: "+hash_a+" part_a: "+part_a);
System.out.println("hash b: "+hash_b+" part_b: "+part_b);
System.out.println("hash c: "+hash_c+" part_c: "+part_c);
Output:
hash a: 1620857277 part_a: 7
hash b: 1621780797 part_b: 7
hash c: 1619933757 part_c: 7