Exemplo n.º 1
0
 public void addKeyVal(K k, V v) {
   int hashcode = Math.abs(k.hashCode());
   int partitionID = hashcode % numPartitions;
   KeyValPartition<K, V, C> partition = partitions.get(partitionID);
   if (partition == null) {
     partition = new KeyValPartition<K, V, C>(partitionID, 5, kClass, vClass, cClass);
     partitions.put(partitionID, partition);
   }
   partition.addKeyVal(k, v);
 }
Exemplo n.º 2
0
 /**
  * Check if combining happens.
  *
  * @param partition
  * @return Check if combining happens.
  */
 public boolean addKeyValPartition(KeyValPartition<K, V, C> partition) {
   int partitionID = partition.getPartitionID();
   KeyValPartition<K, V, C> currentPartition = this.partitions.get(partitionID);
   if (currentPartition != null) {
     currentPartition.addKeyVals(partition.getKeyValMap());
     return true;
   } else if (partitionID >= 0 && partitionID < numPartitions) {
     this.partitions.put(partitionID, partition);
     return false;
   } else {
     for (Entry<K, V> entry : partition.getKeyValMap().entrySet()) {
       addKeyVal(entry.getKey(), entry.getValue());
     }
     return true;
   }
 }