当前位置: 首页>>代码示例>>Java>>正文


Java MD5Hash.getMD5AsHex方法代码示例

本文整理汇总了Java中org.apache.hadoop.hbase.util.MD5Hash.getMD5AsHex方法的典型用法代码示例。如果您正苦于以下问题:Java MD5Hash.getMD5AsHex方法的具体用法?Java MD5Hash.getMD5AsHex怎么用?Java MD5Hash.getMD5AsHex使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.hadoop.hbase.util.MD5Hash的用法示例。


在下文中一共展示了MD5Hash.getMD5AsHex方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: testCreateHRegionInfoName

import org.apache.hadoop.hbase.util.MD5Hash; //导入方法依赖的package包/类
@Test
public void testCreateHRegionInfoName() throws Exception {
  String tableName = "tablename";
  final TableName tn = TableName.valueOf(tableName);
  String startKey = "startkey";
  final byte[] sk = Bytes.toBytes(startKey);
  String id = "id";

  // old format region name
  byte [] name = HRegionInfo.createRegionName(tn, sk, id, false);
  String nameStr = Bytes.toString(name);
  assertEquals(tableName + "," + startKey + "," + id, nameStr);


  // new format region name.
  String md5HashInHex = MD5Hash.getMD5AsHex(name);
  assertEquals(HRegionInfo.MD5_HEX_LENGTH, md5HashInHex.length());
  name = HRegionInfo.createRegionName(tn, sk, id, true);
  nameStr = Bytes.toString(name);
  assertEquals(tableName + "," + startKey + ","
               + id + "." + md5HashInHex + ".",
               nameStr);
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:24,代码来源:TestHRegionInfo.java

示例2: createTableFiles

import org.apache.hadoop.hbase.util.MD5Hash; //导入方法依赖的package包/类
private Path createTableFiles(final Path rootDir, final String tableName,
    final Set<String> tableRegions, final Set<String> tableFamilies,
    final Set<String> tableHFiles) throws IOException {
  Path tableDir = new Path(rootDir, tableName);
  for (int r = 0; r < 10; ++r) {
    String regionName = MD5Hash.getMD5AsHex(Bytes.toBytes(r));
    tableRegions.add(regionName);
    Path regionDir = new Path(tableDir, regionName);
    for (int f = 0; f < 3; ++f) {
      String familyName = "f" + f;
      tableFamilies.add(familyName);
      Path familyDir = new Path(regionDir, familyName);
      fs.mkdirs(familyDir);
      for (int h = 0; h < 5; ++h) {
       String hfileName = UUID.randomUUID().toString().replaceAll("-", "");
       tableHFiles.add(hfileName);
       fs.createNewFile(new Path(familyDir, hfileName));
      }
    }
  }
  return tableDir;
}
 
开发者ID:fengchen8086,项目名称:LCIndex-HBase-0.94.16,代码行数:23,代码来源:TestFSVisitor.java

示例3: testCreateHRegionInfoName

import org.apache.hadoop.hbase.util.MD5Hash; //导入方法依赖的package包/类
@Test
public void testCreateHRegionInfoName() throws Exception {
  String tableName = "tablename";
  final byte [] tn = Bytes.toBytes(tableName);
  String startKey = "startkey";
  final byte [] sk = Bytes.toBytes(startKey);
  String id = "id";

  // old format region name
  byte [] name = HRegionInfo.createRegionName(tn, sk, id, false);
  String nameStr = Bytes.toString(name);
  assertEquals(tableName + "," + startKey + "," + id, nameStr);


  // new format region name.
  String md5HashInHex = MD5Hash.getMD5AsHex(name);
  assertEquals(HRegionInfo.MD5_HEX_LENGTH, md5HashInHex.length());
  name = HRegionInfo.createRegionName(tn, sk, id, true);
  nameStr = Bytes.toString(name);
  assertEquals(tableName + "," + startKey + ","
               + id + "." + md5HashInHex + ".",
               nameStr);
}
 
开发者ID:fengchen8086,项目名称:LCIndex-HBase-0.94.16,代码行数:24,代码来源:TestHRegionInfo.java

示例4: md5PrefixedKey

import org.apache.hadoop.hbase.util.MD5Hash; //导入方法依赖的package包/类
/**
 * Converts the given key to string, and prefixes it with the MD5 hash of
 * the index's string representation.
 */
public static String md5PrefixedKey(long key) {
  String stringKey = Long.toString(key);
  String md5hash = MD5Hash.getMD5AsHex(Bytes.toBytes(stringKey));

  // flip the key to randomize
  return md5hash + "-" + stringKey;
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:12,代码来源:LoadTestKVGenerator.java

示例5: setKey

import org.apache.hadoop.hbase.util.MD5Hash; //导入方法依赖的package包/类
public Context setKey(Key key) {
  Preconditions.checkNotNull(cipher, "Context does not have a cipher");
  // validate the key length
  byte[] encoded = key.getEncoded();
  if (encoded.length != cipher.getKeyLength()) {
    throw new RuntimeException("Illegal key length, have=" + encoded.length +
      ", want=" + cipher.getKeyLength());
  }
  this.key = key;
  this.keyHash = MD5Hash.getMD5AsHex(encoded);
  return this;
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:13,代码来源:Context.java

示例6: createRegionName

import org.apache.hadoop.hbase.util.MD5Hash; //导入方法依赖的package包/类
/**
 * Make a region name of passed parameters.
 * @param tableName
 * @param startKey Can be null
 * @param id Region id (Usually timestamp from when region was created).
 * @param replicaId
 * @param newFormat should we create the region name in the new format
 * @return Region name made of passed tableName, startKey, id and replicaId
 */
public static byte [] createRegionName(final TableName tableName,
    final byte [] startKey, final byte [] id, final int replicaId, boolean newFormat) {
  int len = tableName.getName().length + 2 + id.length +
      (startKey == null? 0: startKey.length);
  if (newFormat) {
    len += MD5_HEX_LENGTH + 2;
  }
  byte[] replicaIdBytes = null;
  // Special casing: replicaId is only appended if replicaId is greater than
  // 0. This is because all regions in meta would have to be migrated to the new
  // name otherwise
  if (replicaId > 0) {
    // use string representation for replica id
    replicaIdBytes = Bytes.toBytes(String.format(REPLICA_ID_FORMAT, replicaId));
    len += 1 + replicaIdBytes.length;
  }

  byte [] b = new byte [len];

  int offset = tableName.getName().length;
  System.arraycopy(tableName.getName(), 0, b, 0, offset);
  b[offset++] = HConstants.DELIMITER;
  if (startKey != null && startKey.length > 0) {
    System.arraycopy(startKey, 0, b, offset, startKey.length);
    offset += startKey.length;
  }
  b[offset++] = HConstants.DELIMITER;
  System.arraycopy(id, 0, b, offset, id.length);
  offset += id.length;

  if (replicaIdBytes != null) {
    b[offset++] = REPLICA_ID_DELIMITER;
    System.arraycopy(replicaIdBytes, 0, b, offset, replicaIdBytes.length);
    offset += replicaIdBytes.length;
  }

  if (newFormat) {
    //
    // Encoded name should be built into the region name.
    //
    // Use the region name thus far (namely, <tablename>,<startKey>,<id>_<replicaId>)
    // to compute a MD5 hash to be used as the encoded name, and append
    // it to the byte buffer.
    //
    String md5Hash = MD5Hash.getMD5AsHex(b, 0, offset);
    byte [] md5HashBytes = Bytes.toBytes(md5Hash);

    if (md5HashBytes.length != MD5_HEX_LENGTH) {
      LOG.error("MD5-hash length mismatch: Expected=" + MD5_HEX_LENGTH +
                "; Got=" + md5HashBytes.length);
    }

    // now append the bytes '.<encodedName>.' to the end
    b[offset++] = ENC_SEPARATOR;
    System.arraycopy(md5HashBytes, 0, b, offset, MD5_HEX_LENGTH);
    offset += MD5_HEX_LENGTH;
    b[offset++] = ENC_SEPARATOR;
  }

  return b;
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:71,代码来源:HRegionInfo.java

示例7: createRegionName

import org.apache.hadoop.hbase.util.MD5Hash; //导入方法依赖的package包/类
/**
 * Make a region name of passed parameters.
 * @param tableName
 * @param startKey Can be null
 * @param id Region id (Usually timestamp from when region was created).
 * @param newFormat should we create the region name in the new format
 *                  (such that it contains its encoded name?).
 * @return Region name made of passed tableName, startKey and id
 */
public static byte [] createRegionName(final byte [] tableName,
    final byte [] startKey, final byte [] id, boolean newFormat) {
  byte [] b = new byte [tableName.length + 2 + id.length +
     (startKey == null? 0: startKey.length) +
     (newFormat ? (MD5_HEX_LENGTH + 2) : 0)];

  int offset = tableName.length;
  System.arraycopy(tableName, 0, b, 0, offset);
  b[offset++] = DELIMITER;
  if (startKey != null && startKey.length > 0) {
    System.arraycopy(startKey, 0, b, offset, startKey.length);
    offset += startKey.length;
  }
  b[offset++] = DELIMITER;
  System.arraycopy(id, 0, b, offset, id.length);
  offset += id.length;

  if (newFormat) {
    //
    // Encoded name should be built into the region name.
    //
    // Use the region name thus far (namely, <tablename>,<startKey>,<id>)
    // to compute a MD5 hash to be used as the encoded name, and append
    // it to the byte buffer.
    //
    String md5Hash = MD5Hash.getMD5AsHex(b, 0, offset);
    byte [] md5HashBytes = Bytes.toBytes(md5Hash);

    if (md5HashBytes.length != MD5_HEX_LENGTH) {
      LOG.error("MD5-hash length mismatch: Expected=" + MD5_HEX_LENGTH +
                "; Got=" + md5HashBytes.length);
    }

    // now append the bytes '.<encodedName>.' to the end
    b[offset++] = ENC_SEPARATOR;
    System.arraycopy(md5HashBytes, 0, b, offset, MD5_HEX_LENGTH);
    offset += MD5_HEX_LENGTH;
    b[offset++] = ENC_SEPARATOR;
  }

  return b;
}
 
开发者ID:fengchen8086,项目名称:LCIndex-HBase-0.94.16,代码行数:52,代码来源:HRegionInfo090x.java

示例8: createRegionName

import org.apache.hadoop.hbase.util.MD5Hash; //导入方法依赖的package包/类
/**
 * Make a region name of passed parameters.
 * @param tableName
 * @param startKey Can be null
 * @param id Region id (Usually timestamp from when region was created).
 * @param newFormat should we create the region name in the new format
 *                  (such that it contains its encoded name?).
 * @return Region name made of passed tableName, startKey and id
 */
public static byte [] createRegionName(final byte [] tableName,
    final byte [] startKey, final byte [] id, boolean newFormat) {
  byte [] b = new byte [tableName.length + 2 + id.length +
     (startKey == null? 0: startKey.length) +
     (newFormat ? (MD5_HEX_LENGTH + 2) : 0)];

  int offset = tableName.length;
  System.arraycopy(tableName, 0, b, 0, offset);
  b[offset++] = DELIMITER;
  if (startKey != null && startKey.length > 0) {
    System.arraycopy(startKey, 0, b, offset, startKey.length);
    offset += startKey.length;
  }
  b[offset++] = DELIMITER;
  System.arraycopy(id, 0, b, offset, id.length);
  offset += id.length;

  if (newFormat) {
    //
    // Encoded name should be built into the region name.
    //
    // Use the region name thus far (namely, <tablename>,<startKey>,<id>)
    // to compute a MD5 hash to be used as the encoded name, and append
    // it to the byte buffer.
    //
    String md5Hash = MD5Hash.getMD5AsHex(b, 0, offset);
    byte [] md5HashBytes = Bytes.toBytes(md5Hash);

    if (md5HashBytes.length != MD5_HEX_LENGTH) {
      LOG.error("MD5-hash length mismatch: Expected=" + MD5_HEX_LENGTH +
                "; Got=" + md5HashBytes.length); 
    }

    // now append the bytes '.<encodedName>.' to the end
    b[offset++] = ENC_SEPARATOR;
    System.arraycopy(md5HashBytes, 0, b, offset, MD5_HEX_LENGTH);
    offset += MD5_HEX_LENGTH;
    b[offset++] = ENC_SEPARATOR;
  }
  
  return b;
}
 
开发者ID:fengchen8086,项目名称:LCIndex-HBase-0.94.16,代码行数:52,代码来源:HRegionInfo.java

示例9: call

import org.apache.hadoop.hbase.util.MD5Hash; //导入方法依赖的package包/类
@Override
public Boolean call() throws Exception {
  Thread.currentThread().setName("reader " + readerId);
  Random rand = new Random();
  StoreFileScanner scanner = reader.getStoreFileScanner(true, pread);

  while (System.currentTimeMillis() < endTime) {
    byte[] row = createRandomRow(rand, firstRow, lastRow);
    KeyValue kvToSeek = new KeyValue(row, family,
        createRandomQualifier(rand));
    if (rand.nextDouble() < 0.0001) {
      LOG.info("kvToSeek=" + kvToSeek);
    }
    boolean seekResult;
    try {
      seekResult = scanner.seek(kvToSeek);
    } catch (IOException ex) {
      throw new IOException("Seek failed for key " + kvToSeek + ", pread="
          + pread, ex);
    }
    numSeeks.incrementAndGet();
    if (!seekResult) {
      error("Seek returned false for row " + Bytes.toStringBinary(row));
      return false;
    }
    for (int i = 0; i < rand.nextInt(10) + 1; ++i) {
      KeyValue kv = scanner.next();
      numKV.incrementAndGet();
      if (i == 0 && kv == null) {
        error("scanner.next() returned null at the first iteration for " +
            "row " + Bytes.toStringBinary(row));
        return false;
      }
      if (kv == null)
        break;

      String keyHashStr = MD5Hash.getMD5AsHex(kv.getKey());
      keysRead.add(keyHashStr);
      totalBytes.addAndGet(kv.getLength());
    }
  }

  return true;
}
 
开发者ID:fengchen8086,项目名称:LCIndex-HBase-0.94.16,代码行数:45,代码来源:HFileReadWriteTest.java

示例10: createRegionName

import org.apache.hadoop.hbase.util.MD5Hash; //导入方法依赖的package包/类
/**
 * Make a region name of passed parameters.
 * @param tableName
 * @param startKey Can be null
 * @param id Region id (Usually timestamp from when region was created).
 * @param newFormat should we create the region name in the new format
 *                  (such that it contains its encoded name?).
 * @return Region name made of passed tableName, startKey and id
 */
public static byte [] createRegionName(final TableName tableName,
    final byte [] startKey, final byte [] id, boolean newFormat) {
  byte [] b = new byte [tableName.getName().length + 2 + id.length +
     (startKey == null? 0: startKey.length) +
     (newFormat ? (MD5_HEX_LENGTH + 2) : 0)];

  int offset = tableName.getName().length;
  System.arraycopy(tableName.getName(), 0, b, 0, offset);
  b[offset++] = HConstants.DELIMITER;
  if (startKey != null && startKey.length > 0) {
    System.arraycopy(startKey, 0, b, offset, startKey.length);
    offset += startKey.length;
  }
  b[offset++] = HConstants.DELIMITER;
  System.arraycopy(id, 0, b, offset, id.length);
  offset += id.length;

  if (newFormat) {
    //
    // Encoded name should be built into the region name.
    //
    // Use the region name thus far (namely, <tablename>,<startKey>,<id>)
    // to compute a MD5 hash to be used as the encoded name, and append
    // it to the byte buffer.
    //
    String md5Hash = MD5Hash.getMD5AsHex(b, 0, offset);
    byte [] md5HashBytes = Bytes.toBytes(md5Hash);

    if (md5HashBytes.length != MD5_HEX_LENGTH) {
      LOG.error("MD5-hash length mismatch: Expected=" + MD5_HEX_LENGTH +
                "; Got=" + md5HashBytes.length);
    }

    // now append the bytes '.<encodedName>.' to the end
    b[offset++] = ENC_SEPARATOR;
    System.arraycopy(md5HashBytes, 0, b, offset, MD5_HEX_LENGTH);
    offset += MD5_HEX_LENGTH;
    b[offset++] = ENC_SEPARATOR;
  }

  return b;
}
 
开发者ID:tenggyut,项目名称:HIndex,代码行数:52,代码来源:HRegionInfo.java

示例11: createRegionName

import org.apache.hadoop.hbase.util.MD5Hash; //导入方法依赖的package包/类
/**
 * Make a region name of passed parameters.
 * @param tableName
 * @param startKey Can be null
 * @param id Region id (Usually timestamp from when region was created).
 * @param replicaId
 * @param newFormat should we create the region name in the new format
 * @return Region name made of passed tableName, startKey, id and replicaId
 */
static byte [] createRegionName(final TableName tableName,
    final byte[] startKey, final byte[] id, final int replicaId, boolean newFormat) {
  int len = tableName.getName().length + 2 + id.length + (startKey == null? 0: startKey.length);
  if (newFormat) {
    len += MD5_HEX_LENGTH + 2;
  }
  byte[] replicaIdBytes = null;
  // Special casing: replicaId is only appended if replicaId is greater than
  // 0. This is because all regions in meta would have to be migrated to the new
  // name otherwise
  if (replicaId > 0) {
    // use string representation for replica id
    replicaIdBytes = Bytes.toBytes(String.format(REPLICA_ID_FORMAT, replicaId));
    len += 1 + replicaIdBytes.length;
  }

  byte [] b = new byte [len];

  int offset = tableName.getName().length;
  System.arraycopy(tableName.getName(), 0, b, 0, offset);
  b[offset++] = HConstants.DELIMITER;
  if (startKey != null && startKey.length > 0) {
    System.arraycopy(startKey, 0, b, offset, startKey.length);
    offset += startKey.length;
  }
  b[offset++] = HConstants.DELIMITER;
  System.arraycopy(id, 0, b, offset, id.length);
  offset += id.length;

  if (replicaIdBytes != null) {
    b[offset++] = REPLICA_ID_DELIMITER;
    System.arraycopy(replicaIdBytes, 0, b, offset, replicaIdBytes.length);
    offset += replicaIdBytes.length;
  }

  if (newFormat) {
    //
    // Encoded name should be built into the region name.
    //
    // Use the region name thus far (namely, <tablename>,<startKey>,<id>_<replicaId>)
    // to compute a MD5 hash to be used as the encoded name, and append
    // it to the byte buffer.
    //
    String md5Hash = MD5Hash.getMD5AsHex(b, 0, offset);
    byte [] md5HashBytes = Bytes.toBytes(md5Hash);

    if (md5HashBytes.length != MD5_HEX_LENGTH) {
      System.out.println("MD5-hash length mismatch: Expected=" + MD5_HEX_LENGTH +
      "; Got=" + md5HashBytes.length);
    }

    // now append the bytes '.<encodedName>.' to the end
    b[offset++] = ENC_SEPARATOR;
    System.arraycopy(md5HashBytes, 0, b, offset, MD5_HEX_LENGTH);
    offset += MD5_HEX_LENGTH;
    b[offset++] = ENC_SEPARATOR;
  }

  return b;
}
 
开发者ID:apache,项目名称:hbase,代码行数:70,代码来源:RegionInfo.java

示例12: call

import org.apache.hadoop.hbase.util.MD5Hash; //导入方法依赖的package包/类
@Override
public Boolean call() throws Exception {
  Thread.currentThread().setName("reader " + readerId);
  Random rand = new Random();
  StoreFileScanner scanner = reader.getStoreFileScanner(true, pread);

  while (System.currentTimeMillis() < endTime) {
    byte[] row = createRandomRow(rand, firstRow, lastRow);
    KeyValue kvToSeek = new KeyValue(row, family,
        createRandomQualifier(rand));
    if (rand.nextDouble() < 0.0001) {
      LOG.info("kvToSeek=" + kvToSeek);
    }
    boolean seekResult;
    try {
      seekResult = scanner.seek(kvToSeek);
    } catch (IOException ex) {
      throw new IOException("Seek failed for key " + kvToSeek + ", pread="
          + pread, ex);
    }
    numSeeks.incrementAndGet();
    if (!seekResult) {
      error("Seek returned false for row " + Bytes.toStringBinary(row));
      return false;
    }
    for (int i = 0; i < rand.nextInt(10) + 1; ++i) {
      Cell kv = scanner.next();
      numKV.incrementAndGet();
      if (i == 0 && kv == null) {
        error("scanner.next() returned null at the first iteration for " +
            "row " + Bytes.toStringBinary(row));
        return false;
      }
      if (kv == null)
        break;

      KeyValue keyv = KeyValueUtil.ensureKeyValue(kv);
      String keyHashStr = MD5Hash.getMD5AsHex(keyv.getKey());
      keysRead.add(keyHashStr);
      totalBytes.addAndGet(keyv.getLength());
    }
  }

  return true;
}
 
开发者ID:shenli-uiuc,项目名称:PyroDB,代码行数:46,代码来源:HFileReadWriteTest.java

示例13: MobFileName

import org.apache.hadoop.hbase.util.MD5Hash; //导入方法依赖的package包/类
/**
 * @param startKey
 *          The start key.
 * @param date
 *          The string of the latest timestamp of cells in this file, the format is yyyymmdd.
 * @param uuid
 *          The uuid
 */
private MobFileName(byte[] startKey, String date, String uuid) {
  this.startKey = MD5Hash.getMD5AsHex(startKey, 0, startKey.length);
  this.uuid = uuid;
  this.date = date;
  this.fileName = this.startKey + this.date + this.uuid;
}
 
开发者ID:apache,项目名称:hbase,代码行数:15,代码来源:MobFileName.java

示例14: MobFileName

import org.apache.hadoop.hbase.util.MD5Hash; //导入方法依赖的package包/类
/**
 * @param startKey
 *          The start key.
 * @param date
 *          The string of the latest timestamp of cells in this file, the format is yyyymmdd.
 * @param uuid
 *          The uuid
 */
private MobFileName(byte[] startKey, String date, String uuid) {
  this.startKey = MD5Hash.getMD5AsHex(startKey, 0, startKey.length);
  this.uuid = uuid;
  this.date = date;
  this.fileName = this.startKey + date + uuid;
}
 
开发者ID:intel-hadoop,项目名称:HBase-LOB,代码行数:15,代码来源:MobFileName.java


注:本文中的org.apache.hadoop.hbase.util.MD5Hash.getMD5AsHex方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。