org.apache.hadoop.hbase.Cell.getQualifierLength()方法的使用及代码示例

x33g5p2x  于2022-01-18 转载在 其他  
字(11.4k)|赞(0)|评价(0)|浏览(197)

本文整理了Java中org.apache.hadoop.hbase.Cell.getQualifierLength()方法的一些代码示例,展示了Cell.getQualifierLength()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Cell.getQualifierLength()方法的具体详情如下:
包路径:org.apache.hadoop.hbase.Cell
类名称:Cell
方法名:getQualifierLength

Cell.getQualifierLength介绍

暂无

代码示例

代码示例来源:origin: apache/hbase

protected static String extractSnapshotNameFromSizeCell(Cell c) {
 return Bytes.toString(
   c.getQualifierArray(), c.getQualifierOffset() + QUOTA_SNAPSHOT_SIZE_QUALIFIER.length,
   c.getQualifierLength() - QUOTA_SNAPSHOT_SIZE_QUALIFIER.length);
}

代码示例来源:origin: apache/hbase

if ((left.getRowLength() + left.getFamilyLength() + left.getQualifierLength()) != (right
  .getRowLength() + right.getFamilyLength() + right.getQualifierLength())) {
 return false;
int lfoffset = left.getFamilyOffset();
int rfoffset = right.getFamilyOffset();
int lclength = left.getQualifierLength();
int rclength = right.getQualifierLength();
int lfamilylength = left.getFamilyLength();
int rfamilylength = right.getFamilyLength();
int diff = compareFamilies(left.getFamilyArray(), lfoffset, lfamilylength,
  right.getFamilyArray(), rfoffset, rfamilylength);
if (diff != 0) {
 return false;
} else {
 diff = compareColumns(left.getQualifierArray(), left.getQualifierOffset(), lclength,
   right.getQualifierArray(), right.getQualifierOffset(), rclength);
 return diff == 0;

代码示例来源:origin: apache/hbase

if (cell.getQualifierLength() == 0
  && (cell.getTypeByte() == Type.DeleteFamily.getCode()
  || cell.getTypeByte() == Type.DeleteFamilyVersion.getCode())) {
curFam.set(cell.getFamilyArray(), cell.getFamilyOffset(), cell.getFamilyLength());
List<Cell> cols = familyMap1.get(curFam);
for (Cell col : cols) {
 if ((col.getQualifierLength() == 0 && request == OpType.DELETE)
   || CellUtil.matchingQualifier(cell, col)) {
  byte type = col.getTypeByte();

代码示例来源:origin: apache/phoenix

buf, keyValue.getFamilyOffset(), keyValue.getFamilyLength(),
buf, keyValue.getQualifierOffset(), keyValue.getQualifierLength(),
keyValue.getTimestamp(), KeyValue.Type.codeToType(keyValue.getTypeByte()),
buf, keyValue.getValueOffset(), keyValue.getValueLength());

代码示例来源:origin: apache/kylin

public static ByteBuffer getValueAsByteBuffer(Result hbaseRow, byte[] cf, byte[] cq) {
  List<Cell> cells = hbaseRow.listCells();
  if (cells == null || cells.size() == 0) {
    return null;
  } else {
    for (Cell c : cells) {
      if (Bytes.compareTo(cf, 0, cf.length, c.getFamilyArray(), c.getFamilyOffset(), c.getFamilyLength()) == 0 && //
          Bytes.compareTo(cq, 0, cq.length, c.getQualifierArray(), c.getQualifierOffset(), c.getQualifierLength()) == 0) {
        return ByteBuffer.wrap(c.getValueArray(), c.getValueOffset(), c.getValueLength());
      }
    }
  }
  return null;
}

代码示例来源:origin: apache/hbase

/**
 * @param cell
 * @return cell's qualifier wrapped into a ByteBuffer.
 * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0.
 */
@Deprecated
public static ByteBuffer getQualifierBufferShallowCopy(Cell cell) {
 // No usage of this in code.
 ByteBuffer buffer = ByteBuffer.wrap(cell.getQualifierArray(), cell.getQualifierOffset(),
  cell.getQualifierLength());
 return buffer;
}

代码示例来源:origin: apache/phoenix

Delete delete = new Delete(keyValue.getRowArray(), keyValue.getRowOffset(), keyValue.getRowLength());
KeyValue deleteKeyValue = new KeyValue(buf, keyValue.getRowOffset(), keyValue.getRowLength(),
    buf, keyValue.getFamilyOffset(), keyValue.getFamilyLength(),
    buf, keyValue.getQualifierOffset(), keyValue.getQualifierLength(),
    keyValue.getTimestamp(), KeyValue.Type.Delete,
    ByteUtil.EMPTY_BYTE_ARRAY,0,0);

代码示例来源:origin: apache/hbase

/**
 * @param cell
 * @return The Key portion of the passed <code>cell</code> as a String.
 */
public static String getCellKeyAsString(Cell cell) {
 StringBuilder sb = new StringBuilder(Bytes.toStringBinary(
  cell.getRowArray(), cell.getRowOffset(), cell.getRowLength()));
 sb.append('/');
 sb.append(cell.getFamilyLength() == 0? "":
  Bytes.toStringBinary(cell.getFamilyArray(), cell.getFamilyOffset(), cell.getFamilyLength()));
 // KeyValue only added ':' if family is non-null.  Do same.
 if (cell.getFamilyLength() > 0) sb.append(':');
 sb.append(cell.getQualifierLength() == 0? "":
  Bytes.toStringBinary(cell.getQualifierArray(), cell.getQualifierOffset(),
   cell.getQualifierLength()));
 sb.append('/');
 sb.append(KeyValue.humanReadableTimestamp(cell.getTimestamp()));
 sb.append('/');
 sb.append(Type.codeToType(cell.getTypeByte()));
 if (!(cell instanceof KeyValue.KeyOnlyKeyValue)) {
  sb.append("/vlen=");
  sb.append(cell.getValueLength());
 }
 sb.append("/seqid=");
 sb.append(cell.getSequenceId());
 return sb.toString();
}

代码示例来源:origin: apache/hbase

public static int compareCommonQualifierPrefix(Cell left, Cell right, int qualCommonPrefix) {
 return Bytes.compareTo(left.getQualifierArray(), left.getQualifierOffset() + qualCommonPrefix,
   left.getQualifierLength() - qualCommonPrefix, right.getQualifierArray(),
   right.getQualifierOffset() + qualCommonPrefix, right.getQualifierLength()
     - qualCommonPrefix);
}

代码示例来源:origin: apache/hbase

public void hashResult(Result result) {
 if (!batchStarted) {
  throw new RuntimeException("Cannot add to batch that has not been started.");
 }
 for (Cell cell : result.rawCells()) {
  int rowLength = cell.getRowLength();
  int familyLength = cell.getFamilyLength();
  int qualifierLength = cell.getQualifierLength();
  int valueLength = cell.getValueLength();
  digest.update(cell.getRowArray(), cell.getRowOffset(), rowLength);
  digest.update(cell.getFamilyArray(), cell.getFamilyOffset(), familyLength);
  digest.update(cell.getQualifierArray(), cell.getQualifierOffset(), qualifierLength);
  long ts = cell.getTimestamp();
  for (int i = 8; i > 0; i--) {
   digest.update((byte) ts);
   ts >>>= 8;
  }
  digest.update(cell.getValueArray(), cell.getValueOffset(), valueLength);
  batchSize += rowLength + familyLength + qualifierLength + 8 + valueLength;
 }
}

代码示例来源:origin: apache/hbase

private static int findCommonPrefixInQualifierPart(Cell left, Cell right,
  int qualifierCommonPrefix) {
 return Bytes.findCommonPrefix(left.getQualifierArray(), right.getQualifierArray(),
   left.getQualifierLength() - qualifierCommonPrefix, right.getQualifierLength()
     - qualifierCommonPrefix, left.getQualifierOffset() + qualifierCommonPrefix,
   right.getQualifierOffset() + qualifierCommonPrefix);
}

代码示例来源:origin: apache/hbase

public static boolean matchingRowColumnBytes(final Cell left, final Cell right) {
 int lrowlength = left.getRowLength();
 int rrowlength = right.getRowLength();
 int lfamlength = left.getFamilyLength();
 int rfamlength = right.getFamilyLength();
 int lqlength = left.getQualifierLength();
 int rqlength = right.getQualifierLength();
 // match length
 if ((lrowlength + lfamlength + lqlength) !=
   (rrowlength + rfamlength + rqlength)) {
  return false;
 }
 // match row
 if (!Bytes.equals(left.getRowArray(), left.getRowOffset(), lrowlength, right.getRowArray(),
   right.getRowOffset(), rrowlength)) {
  return false;
 }
 //match family
 if (!Bytes.equals(left.getFamilyArray(), left.getFamilyOffset(), lfamlength,
   right.getFamilyArray(), right.getFamilyOffset(), rfamlength)) {
  return false;
 }
 //match qualifier
 return Bytes.equals(left.getQualifierArray(), left.getQualifierOffset(),
   lqlength, right.getQualifierArray(), right.getQualifierOffset(),
   rqlength);
}

代码示例来源:origin: apache/hbase

public static ByteRange fillQualifierRange(Cell cell, ByteRange range) {
 return range.set(cell.getQualifierArray(), cell.getQualifierOffset(),
  cell.getQualifierLength());
}

代码示例来源:origin: apache/kylin

private void loadRecord(Result r) {
  Cell[] cells = r.rawCells();
  Cell cell = cells[0];
  if (Bytes.compareTo(CF_B, 0, CF_B.length, cell.getFamilyArray(), cell.getFamilyOffset(), cell.getFamilyLength()) != 0 //
      || Bytes.compareTo(COL_B, 0, COL_B.length, cell.getQualifierArray(), cell.getQualifierOffset(), cell.getQualifierLength()) != 0)
    throw new IllegalStateException();
  rec.loadCellBlock(0, ByteBuffer.wrap(cell.getRowArray(), cell.getRowOffset() + ID_LEN, cell.getRowLength() - ID_LEN));
  rec.loadCellBlock(1, ByteBuffer.wrap(cell.getValueArray(), cell.getValueOffset(), cell.getValueLength()));
}

代码示例来源:origin: apache/hbase

public static void compressQualifier(OutputStream out, Cell cell, Dictionary dict)
  throws IOException {
 if (cell instanceof ByteBufferExtendedCell) {
  Dictionary.write(out, ((ByteBufferExtendedCell) cell).getQualifierByteBuffer(),
   ((ByteBufferExtendedCell) cell).getQualifierPosition(), cell.getQualifierLength(), dict);
 } else {
  Dictionary.write(out, cell.getQualifierArray(), cell.getQualifierOffset(),
   cell.getQualifierLength(), dict);
 }
}

代码示例来源:origin: apache/hbase

private int calculateHashForKey(Cell cell) {
 // pre-calculate the 3 hashes made of byte ranges
 int rowHash = Bytes.hashCode(cell.getRowArray(), cell.getRowOffset(), cell.getRowLength());
 int familyHash = Bytes.hashCode(cell.getFamilyArray(), cell.getFamilyOffset(),
   cell.getFamilyLength());
 int qualifierHash = Bytes.hashCode(cell.getQualifierArray(), cell.getQualifierOffset(),
   cell.getQualifierLength());
 // combine the 6 sub-hashes
 int hash = 31 * rowHash + familyHash;
 hash = 31 * hash + qualifierHash;
 hash = 31 * hash + (int) cell.getTimestamp();
 hash = 31 * hash + cell.getTypeByte();
 return hash;
}

代码示例来源:origin: apache/hbase

/**
 * Finds if the qualifier part of the cell and the KV serialized byte[] are equal
 * @param left the cell with which we need to match the qualifier
 * @param buf the serialized keyvalue format byte[]
 * @param offset the offset of the qualifier in the byte[]
 * @param length the length of the qualifier in the byte[]
 * @return true if the qualifier matches, false otherwise
 */
public static boolean matchingQualifier(final Cell left, final byte[] buf, final int offset,
  final int length) {
 if (buf == null) {
  return left.getQualifierLength() == 0;
 }
 if (left instanceof ByteBufferExtendedCell) {
  return ByteBufferUtils.equals(((ByteBufferExtendedCell) left).getQualifierByteBuffer(),
    ((ByteBufferExtendedCell) left).getQualifierPosition(), left.getQualifierLength(),
    buf, offset, length);
 }
 return Bytes.equals(left.getQualifierArray(), left.getQualifierOffset(),
  left.getQualifierLength(), buf, offset, length);
}

代码示例来源:origin: apache/hbase

private static Map<String, Object> toStringMap(Cell cell) {
 Map<String, Object> stringMap = new HashMap<>();
 stringMap.put("row",
   Bytes.toStringBinary(cell.getRowArray(), cell.getRowOffset(), cell.getRowLength()));
 stringMap.put("family", Bytes.toStringBinary(cell.getFamilyArray(), cell.getFamilyOffset(),
       cell.getFamilyLength()));
 stringMap.put("qualifier",
   Bytes.toStringBinary(cell.getQualifierArray(), cell.getQualifierOffset(),
     cell.getQualifierLength()));
 stringMap.put("timestamp", cell.getTimestamp());
 stringMap.put("vlen", cell.getValueLength());
 if (cell.getTagsLength() > 0) {
  List<String> tagsString = new ArrayList<>();
  Iterator<Tag> tagsIterator = PrivateCellUtil.tagsIterator(cell);
  while (tagsIterator.hasNext()) {
   Tag tag = tagsIterator.next();
   tagsString
     .add((tag.getType()) + ":" + Bytes.toStringBinary(Tag.cloneValue(tag)));
  }
  stringMap.put("tag", tagsString);
 }
 return stringMap;
}

代码示例来源:origin: apache/hbase

/**
 * Compare cell's qualifier against given comparator
 * @param cell
 * @param comparator
 * @return result comparing cell's qualifier
 */
public static int compareQualifier(Cell cell, ByteArrayComparable comparator) {
 if (cell instanceof ByteBufferExtendedCell) {
  return comparator.compareTo(((ByteBufferExtendedCell) cell).getQualifierByteBuffer(),
   ((ByteBufferExtendedCell) cell).getQualifierPosition(), cell.getQualifierLength());
 }
 return comparator.compareTo(cell.getQualifierArray(), cell.getQualifierOffset(),
  cell.getQualifierLength());
}

代码示例来源:origin: apache/hbase

@Override
public void write(Cell cell) throws IOException {
 checkFlushed();
 // Row
 write(cell.getRowArray(), cell.getRowOffset(), cell.getRowLength());
 // Column family
 write(cell.getFamilyArray(), cell.getFamilyOffset(), cell.getFamilyLength());
 // Qualifier
 write(cell.getQualifierArray(), cell.getQualifierOffset(), cell.getQualifierLength());
 // Version
 this.out.write(Bytes.toBytes(cell.getTimestamp()));
 // Type
 this.out.write(cell.getTypeByte());
 // Value
 write(cell.getValueArray(), cell.getValueOffset(), cell.getValueLength());
 // MvccVersion
 this.out.write(Bytes.toBytes(cell.getSequenceId()));
}

相关文章