org.apache.hadoop.hbase.client.Append.getFamilyCellMap()方法的使用及代码示例

x33g5p2x  于2022-01-16 转载在 其他  
字(19.7k)|赞(0)|评价(0)|浏览(203)

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

Append.getFamilyCellMap介绍

暂无

代码示例

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

@Override
 public Result preAppend(final ObserverContext<RegionCoprocessorEnvironment> e,
   final Append append) throws IOException {
  NavigableMap<byte [], List<Cell>> map = append.getFamilyCellMap();
  for (Map.Entry<byte [], List<Cell>> entry : map.entrySet()) {
   for (Cell cell : entry.getValue()) {
    String appendStr = Bytes.toString(cell.getValueArray(), cell.getValueOffset(),
      cell.getValueLength());
    if (appendStr.equals("b")) {
     tr10 = append.getTimeRange();
    } else if (appendStr.equals("c") && !append.getTimeRange().isAllTime()) {
     tr2 = append.getTimeRange();
    }
   }
  }
  return null;
 }
}

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

@Override
public Result preAppendAfterRowLock(final ObserverContext<RegionCoprocessorEnvironment> c,
  final Append append) throws IOException {
 if (append.getAttribute(CHECK_COVERING_PERM) != null) {
  // We had failure with table, cf and q perm checks and now giving a chance for cell
  // perm check
  TableName table = c.getEnvironment().getRegion().getRegionInfo().getTable();
  AuthResult authResult = null;
  User user = getActiveUser(c);
  if (checkCoveringPermission(user, OpType.APPEND, c.getEnvironment(), append.getRow(),
    append.getFamilyCellMap(), append.getTimeRange().getMax(), Action.WRITE)) {
   authResult = AuthResult.allow(OpType.APPEND.toString(),
     "Covering cell set", user, Action.WRITE, table, append.getFamilyCellMap());
  } else {
   authResult = AuthResult.deny(OpType.APPEND.toString(),
     "Covering cell set", user, Action.WRITE, table, append.getFamilyCellMap());
  }
  AccessChecker.logResult(authResult);
  if (authorizationEnabled && !authResult.isAllowed()) {
   throw new AccessDeniedException("Insufficient permissions " +
    authResult.toContextString());
  }
 }
 return null;
}

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

@Override
public Result preAppend(ObserverContext<RegionCoprocessorEnvironment> c, Append append)
  throws IOException {
 User user = getActiveUser(c);
 checkForReservedTagPresence(user, append);
 // Require WRITE permission to the table, CF, and the KV to be appended
 RegionCoprocessorEnvironment env = c.getEnvironment();
 Map<byte[],? extends Collection<Cell>> families = append.getFamilyCellMap();
 AuthResult authResult = permissionGranted(OpType.APPEND, user,
   env, families, Action.WRITE);
 AccessChecker.logResult(authResult);
 if (!authResult.isAllowed()) {
  if (cellFeaturesEnabled && !compatibleEarlyTermination) {
   append.setAttribute(CHECK_COVERING_PERM, TRUE);
  } else if (authorizationEnabled)  {
   throw new AccessDeniedException("Insufficient permissions " +
    authResult.toContextString());
  }
 }
 byte[] bytes = append.getAttribute(AccessControlConstants.OP_ATTRIBUTE_ACL);
 if (bytes != null) {
  if (cellFeaturesEnabled) {
   addCellPermissions(bytes, append.getFamilyCellMap());
  } else {
   throw new DoNotRetryIOException("Cell ACLs cannot be persisted");
  }
 }
 return null;
}

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

out.setDurability(durabilityFromHBase(in.getDurability()));
for (Map.Entry<byte [], List<Cell>> entry : in.getFamilyCellMap().entrySet()) {
 byte[] family = entry.getKey();
 for (Cell cell : entry.getValue()) {

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

public Append dropSequence(long timestamp) {
  byte[] key =  this.key.getKey();
  Append append = new Append(key);
  append.setAttribute(SequenceRegionObserver.OPERATION_ATTRIB, new byte[] {(byte)MetaOp.DROP_SEQUENCE.ordinal()});
  if (timestamp != HConstants.LATEST_TIMESTAMP) {
    append.setAttribute(SequenceRegionObserver.MAX_TIMERANGE_ATTRIB, Bytes.toBytes(timestamp));
  }
  Map<byte[], List<Cell>> familyMap = append.getFamilyCellMap();
  familyMap.put(PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_FAMILY_BYTES, Arrays.<Cell>asList(
      PhoenixKeyValueUtil.newKeyValue(key, PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_FAMILY_BYTES, QueryConstants.EMPTY_COLUMN_BYTES, timestamp, ByteUtil.EMPTY_BYTE_ARRAY)));
  return append;
}

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

private Append newReturn(SequenceValue value) {
  byte[] key = this.key.getKey();
  Append append = new Append(key);
  byte[] opBuf = new byte[] {(byte)MetaOp.RETURN_SEQUENCE.ordinal()};
  append.setAttribute(SequenceRegionObserver.OPERATION_ATTRIB, opBuf);
  append.setAttribute(SequenceRegionObserver.CURRENT_VALUE_ATTRIB, PLong.INSTANCE.toBytes(value.nextValue));
  Map<byte[], List<Cell>> familyMap = append.getFamilyCellMap();
  familyMap.put(PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_FAMILY_BYTES, Arrays.<Cell>asList(
      PhoenixKeyValueUtil.newKeyValue(key, PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_FAMILY_BYTES, PhoenixDatabaseMetaData.CURRENT_VALUE_BYTES, value.timestamp, PLong.INSTANCE.toBytes(value.currentValue)),
      PhoenixKeyValueUtil.newKeyValue(key, PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_FAMILY_BYTES, PhoenixDatabaseMetaData.LIMIT_REACHED_FLAG_BYTES, value.timestamp, PBoolean.INSTANCE.toBytes(value.limitReached))
      ));
  return append;
}

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

public Append createSequence(long startWith, long incrementBy, long cacheSize, long timestamp, long minValue, long maxValue, boolean cycle) {
  byte[] key = this.key.getKey();
  Append append = new Append(key);
  append.setAttribute(SequenceRegionObserver.OPERATION_ATTRIB, new byte[] {(byte)MetaOp.CREATE_SEQUENCE.ordinal()});
  if (timestamp != HConstants.LATEST_TIMESTAMP) {
    append.setAttribute(SequenceRegionObserver.MAX_TIMERANGE_ATTRIB, Bytes.toBytes(timestamp));
  }
  Map<byte[], List<Cell>> familyMap = append.getFamilyCellMap();
  byte[] startWithBuf = PLong.INSTANCE.toBytes(startWith);
  familyMap.put(PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_FAMILY_BYTES, Arrays.<Cell>asList(
      PhoenixKeyValueUtil.newKeyValue(key, PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_FAMILY_BYTES, QueryConstants.EMPTY_COLUMN_BYTES, timestamp, ByteUtil.EMPTY_BYTE_ARRAY),
      PhoenixKeyValueUtil.newKeyValue(key, PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_FAMILY_BYTES, PhoenixDatabaseMetaData.CURRENT_VALUE_BYTES, timestamp, startWithBuf),
      PhoenixKeyValueUtil.newKeyValue(key, PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_FAMILY_BYTES, PhoenixDatabaseMetaData.START_WITH_BYTES, timestamp, startWithBuf),
      PhoenixKeyValueUtil.newKeyValue(key, PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_FAMILY_BYTES, PhoenixDatabaseMetaData.INCREMENT_BY_BYTES, timestamp, PLong.INSTANCE.toBytes(incrementBy)),
      PhoenixKeyValueUtil.newKeyValue(key, PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_FAMILY_BYTES, PhoenixDatabaseMetaData.CACHE_SIZE_BYTES, timestamp, PLong.INSTANCE.toBytes(cacheSize)),
      PhoenixKeyValueUtil.newKeyValue(key, PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_FAMILY_BYTES, PhoenixDatabaseMetaData.MIN_VALUE_BYTES, timestamp, PLong.INSTANCE.toBytes(minValue)),
      PhoenixKeyValueUtil.newKeyValue(key, PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_FAMILY_BYTES, PhoenixDatabaseMetaData.MAX_VALUE_BYTES, timestamp, PLong.INSTANCE.toBytes(maxValue)),
      PhoenixKeyValueUtil.newKeyValue(key, PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_FAMILY_BYTES, PhoenixDatabaseMetaData.CYCLE_FLAG_BYTES, timestamp, PBoolean.INSTANCE.toBytes(cycle)),
      PhoenixKeyValueUtil.newKeyValue(key, PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_FAMILY_BYTES, PhoenixDatabaseMetaData.LIMIT_REACHED_FLAG_BYTES, timestamp, PDataType.FALSE_BYTES)
      ));
  return append;
}

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

Cell keyValue = append.getFamilyCellMap().values().iterator().next().iterator().next();
      m.getFamilyCellMap().putAll(append.getFamilyCellMap());
      break;
    case DROP_SEQUENCE:
    case CREATE_SEQUENCE:
      m = new Put(row, clientTimestamp);
      m.getFamilyCellMap().putAll(append.getFamilyCellMap());
      break;

代码示例来源:origin: harbby/presto-connectors

/**
 * Copy constructor
 * @param a
 */
public Append(Append a) {
 this.row = a.getRow();
 this.ts = a.getTimeStamp();
 this.familyMap.putAll(a.getFamilyCellMap());
 for (Map.Entry<String, byte[]> entry : a.getAttributesMap().entrySet()) {
  this.setAttribute(entry.getKey(), entry.getValue());
 }
}

代码示例来源:origin: com.aliyun.phoenix/ali-phoenix-core

public Append dropSequence(long timestamp) {
  byte[] key =  this.key.getKey();
  Append append = new Append(key);
  append.setAttribute(SequenceRegionObserver.OPERATION_ATTRIB, new byte[] {(byte)MetaOp.DROP_SEQUENCE.ordinal()});
  if (timestamp != HConstants.LATEST_TIMESTAMP) {
    append.setAttribute(SequenceRegionObserver.MAX_TIMERANGE_ATTRIB, Bytes.toBytes(timestamp));
  }
  Map<byte[], List<Cell>> familyMap = append.getFamilyCellMap();
  familyMap.put(PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_FAMILY_BYTES, Arrays.<Cell>asList(
      PhoenixKeyValueUtil.newKeyValue(key, PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_FAMILY_BYTES, QueryConstants.EMPTY_COLUMN_BYTES, timestamp, ByteUtil.EMPTY_BYTE_ARRAY)));
  return append;
}

代码示例来源:origin: org.apache.phoenix/phoenix-core

public Append dropSequence(long timestamp) {
  byte[] key =  this.key.getKey();
  Append append = new Append(key);
  append.setAttribute(SequenceRegionObserver.OPERATION_ATTRIB, new byte[] {(byte)MetaOp.DROP_SEQUENCE.ordinal()});
  if (timestamp != HConstants.LATEST_TIMESTAMP) {
    append.setAttribute(SequenceRegionObserver.MAX_TIMERANGE_ATTRIB, Bytes.toBytes(timestamp));
  }
  Map<byte[], List<Cell>> familyMap = append.getFamilyCellMap();
  familyMap.put(PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_FAMILY_BYTES, Arrays.<Cell>asList(
      PhoenixKeyValueUtil.newKeyValue(key, PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_FAMILY_BYTES, QueryConstants.EMPTY_COLUMN_BYTES, timestamp, ByteUtil.EMPTY_BYTE_ARRAY)));
  return append;
}

代码示例来源:origin: com.google.cloud.bigtable/bigtable-hbase

/** {@inheritDoc} */
 @Override
 public void adapt(Append operation, ReadModifyWriteRow readModifyWriteRow) {
  for (Map.Entry<byte[], List<Cell>> entry : operation.getFamilyCellMap().entrySet()) {
   String familyName = Bytes.toString(entry.getKey());
   // Bigtable applies all appends present in a single RPC. HBase applies only the last
   // mutation present, if any. We remove all but the last mutation for each qualifier here:
   List<Cell> cells = CellDeduplicationHelper.deduplicateFamily(operation, entry.getKey());

   for (Cell cell : cells) {
    readModifyWriteRow.append(
      familyName,
      ByteString.copyFrom(
        cell.getQualifierArray(),
        cell.getQualifierOffset(),
        cell.getQualifierLength()),
      ByteString.copyFrom(
        cell.getValueArray(),
        cell.getValueOffset(),
        cell.getValueLength())
    );
   }
  }
 }
}

代码示例来源:origin: GoogleCloudPlatform/cloud-bigtable-client

/** {@inheritDoc} */
 @Override
 public void adapt(Append operation, ReadModifyWriteRow readModifyWriteRow) {
  for (Map.Entry<byte[], List<Cell>> entry : operation.getFamilyCellMap().entrySet()) {
   String familyName = Bytes.toString(entry.getKey());
   // Bigtable applies all appends present in a single RPC. HBase applies only the last
   // mutation present, if any. We remove all but the last mutation for each qualifier here:
   List<Cell> cells = CellDeduplicationHelper.deduplicateFamily(operation, entry.getKey());

   for (Cell cell : cells) {
    readModifyWriteRow.append(
      familyName,
      ByteString.copyFrom(
        cell.getQualifierArray(),
        cell.getQualifierOffset(),
        cell.getQualifierLength()),
      ByteString.copyFrom(
        cell.getValueArray(),
        cell.getValueOffset(),
        cell.getValueLength())
    );
   }
  }
 }
}

代码示例来源:origin: org.apache.phoenix/phoenix-core

private Append newReturn(SequenceValue value) {
  byte[] key = this.key.getKey();
  Append append = new Append(key);
  byte[] opBuf = new byte[] {(byte)MetaOp.RETURN_SEQUENCE.ordinal()};
  append.setAttribute(SequenceRegionObserver.OPERATION_ATTRIB, opBuf);
  append.setAttribute(SequenceRegionObserver.CURRENT_VALUE_ATTRIB, PLong.INSTANCE.toBytes(value.nextValue));
  Map<byte[], List<Cell>> familyMap = append.getFamilyCellMap();
  familyMap.put(PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_FAMILY_BYTES, Arrays.<Cell>asList(
      PhoenixKeyValueUtil.newKeyValue(key, PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_FAMILY_BYTES, PhoenixDatabaseMetaData.CURRENT_VALUE_BYTES, value.timestamp, PLong.INSTANCE.toBytes(value.currentValue)),
      PhoenixKeyValueUtil.newKeyValue(key, PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_FAMILY_BYTES, PhoenixDatabaseMetaData.LIMIT_REACHED_FLAG_BYTES, value.timestamp, PBoolean.INSTANCE.toBytes(value.limitReached))
      ));
  return append;
}

代码示例来源:origin: com.aliyun.phoenix/ali-phoenix-core

private Append newReturn(SequenceValue value) {
  byte[] key = this.key.getKey();
  Append append = new Append(key);
  byte[] opBuf = new byte[] {(byte)MetaOp.RETURN_SEQUENCE.ordinal()};
  append.setAttribute(SequenceRegionObserver.OPERATION_ATTRIB, opBuf);
  append.setAttribute(SequenceRegionObserver.CURRENT_VALUE_ATTRIB, PLong.INSTANCE.toBytes(value.nextValue));
  Map<byte[], List<Cell>> familyMap = append.getFamilyCellMap();
  familyMap.put(PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_FAMILY_BYTES, Arrays.<Cell>asList(
      PhoenixKeyValueUtil.newKeyValue(key, PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_FAMILY_BYTES, PhoenixDatabaseMetaData.CURRENT_VALUE_BYTES, value.timestamp, PLong.INSTANCE.toBytes(value.currentValue)),
      PhoenixKeyValueUtil.newKeyValue(key, PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_FAMILY_BYTES, PhoenixDatabaseMetaData.LIMIT_REACHED_FLAG_BYTES, value.timestamp, PBoolean.INSTANCE.toBytes(value.limitReached))
      ));
  return append;
}

代码示例来源:origin: org.apache.hbase/hbase-server

@Override
 public Result preAppend(final ObserverContext<RegionCoprocessorEnvironment> e,
   final Append append) throws IOException {
  NavigableMap<byte [], List<Cell>> map = append.getFamilyCellMap();
  for (Map.Entry<byte [], List<Cell>> entry : map.entrySet()) {
   for (Cell cell : entry.getValue()) {
    String appendStr = Bytes.toString(cell.getValueArray(), cell.getValueOffset(),
      cell.getValueLength());
    if (appendStr.equals("b")) {
     tr10 = append.getTimeRange();
    } else if (appendStr.equals("c") && !append.getTimeRange().isAllTime()) {
     tr2 = append.getTimeRange();
    }
   }
  }
  return null;
 }
}

代码示例来源:origin: harbby/presto-connectors

@Override
public Result preAppendAfterRowLock(final ObserverContext<RegionCoprocessorEnvironment> c,
  final Append append) throws IOException {
 if (append.getAttribute(CHECK_COVERING_PERM) != null) {
  // We had failure with table, cf and q perm checks and now giving a chance for cell
  // perm check
  TableName table = c.getEnvironment().getRegion().getRegionInfo().getTable();
  AuthResult authResult = null;
  if (checkCoveringPermission(OpType.APPEND, c.getEnvironment(), append.getRow(),
    append.getFamilyCellMap(), HConstants.LATEST_TIMESTAMP, Action.WRITE)) {
   authResult = AuthResult.allow(OpType.APPEND.toString(), "Covering cell set",
     getActiveUser(), Action.WRITE, table, append.getFamilyCellMap());
  } else {
   authResult = AuthResult.deny(OpType.APPEND.toString(), "Covering cell set",
     getActiveUser(), Action.WRITE, table, append.getFamilyCellMap());
  }
  logResult(authResult);
  if (authorizationEnabled && !authResult.isAllowed()) {
   throw new AccessDeniedException("Insufficient permissions " +
    authResult.toContextString());
  }
 }
 return null;
}

代码示例来源:origin: harbby/presto-connectors

@Override
public Result preAppend(ObserverContext<RegionCoprocessorEnvironment> c, Append append)
  throws IOException {
 User user = getActiveUser();
 checkForReservedTagPresence(user, append);
 // Require WRITE permission to the table, CF, and the KV to be appended
 RegionCoprocessorEnvironment env = c.getEnvironment();
 Map<byte[],? extends Collection<Cell>> families = append.getFamilyCellMap();
 AuthResult authResult = permissionGranted(OpType.APPEND, user, env, families, Action.WRITE);
 logResult(authResult);
 if (!authResult.isAllowed()) {
  if (cellFeaturesEnabled && !compatibleEarlyTermination) {
   append.setAttribute(CHECK_COVERING_PERM, TRUE);
  } else if (authorizationEnabled)  {
   throw new AccessDeniedException("Insufficient permissions " +
    authResult.toContextString());
  }
 }
 byte[] bytes = append.getAttribute(AccessControlConstants.OP_ATTRIBUTE_ACL);
 if (bytes != null) {
  if (cellFeaturesEnabled) {
   addCellPermissions(bytes, append.getFamilyCellMap());
  } else {
   throw new DoNotRetryIOException("Cell ACLs cannot be persisted");
  }
 }
 return null;
}

代码示例来源:origin: org.apache.phoenix/phoenix-core

public Append createSequence(long startWith, long incrementBy, long cacheSize, long timestamp, long minValue, long maxValue, boolean cycle) {
  byte[] key = this.key.getKey();
  Append append = new Append(key);
  append.setAttribute(SequenceRegionObserver.OPERATION_ATTRIB, new byte[] {(byte)MetaOp.CREATE_SEQUENCE.ordinal()});
  if (timestamp != HConstants.LATEST_TIMESTAMP) {
    append.setAttribute(SequenceRegionObserver.MAX_TIMERANGE_ATTRIB, Bytes.toBytes(timestamp));
  }
  Map<byte[], List<Cell>> familyMap = append.getFamilyCellMap();
  byte[] startWithBuf = PLong.INSTANCE.toBytes(startWith);
  familyMap.put(PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_FAMILY_BYTES, Arrays.<Cell>asList(
      PhoenixKeyValueUtil.newKeyValue(key, PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_FAMILY_BYTES, QueryConstants.EMPTY_COLUMN_BYTES, timestamp, ByteUtil.EMPTY_BYTE_ARRAY),
      PhoenixKeyValueUtil.newKeyValue(key, PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_FAMILY_BYTES, PhoenixDatabaseMetaData.CURRENT_VALUE_BYTES, timestamp, startWithBuf),
      PhoenixKeyValueUtil.newKeyValue(key, PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_FAMILY_BYTES, PhoenixDatabaseMetaData.START_WITH_BYTES, timestamp, startWithBuf),
      PhoenixKeyValueUtil.newKeyValue(key, PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_FAMILY_BYTES, PhoenixDatabaseMetaData.INCREMENT_BY_BYTES, timestamp, PLong.INSTANCE.toBytes(incrementBy)),
      PhoenixKeyValueUtil.newKeyValue(key, PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_FAMILY_BYTES, PhoenixDatabaseMetaData.CACHE_SIZE_BYTES, timestamp, PLong.INSTANCE.toBytes(cacheSize)),
      PhoenixKeyValueUtil.newKeyValue(key, PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_FAMILY_BYTES, PhoenixDatabaseMetaData.MIN_VALUE_BYTES, timestamp, PLong.INSTANCE.toBytes(minValue)),
      PhoenixKeyValueUtil.newKeyValue(key, PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_FAMILY_BYTES, PhoenixDatabaseMetaData.MAX_VALUE_BYTES, timestamp, PLong.INSTANCE.toBytes(maxValue)),
      PhoenixKeyValueUtil.newKeyValue(key, PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_FAMILY_BYTES, PhoenixDatabaseMetaData.CYCLE_FLAG_BYTES, timestamp, PBoolean.INSTANCE.toBytes(cycle)),
      PhoenixKeyValueUtil.newKeyValue(key, PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_FAMILY_BYTES, PhoenixDatabaseMetaData.LIMIT_REACHED_FLAG_BYTES, timestamp, PDataType.FALSE_BYTES)
      ));
  return append;
}

代码示例来源:origin: com.aliyun.phoenix/ali-phoenix-core

public Append createSequence(long startWith, long incrementBy, long cacheSize, long timestamp, long minValue, long maxValue, boolean cycle) {
  byte[] key = this.key.getKey();
  Append append = new Append(key);
  append.setAttribute(SequenceRegionObserver.OPERATION_ATTRIB, new byte[] {(byte)MetaOp.CREATE_SEQUENCE.ordinal()});
  if (timestamp != HConstants.LATEST_TIMESTAMP) {
    append.setAttribute(SequenceRegionObserver.MAX_TIMERANGE_ATTRIB, Bytes.toBytes(timestamp));
  }
  Map<byte[], List<Cell>> familyMap = append.getFamilyCellMap();
  byte[] startWithBuf = PLong.INSTANCE.toBytes(startWith);
  familyMap.put(PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_FAMILY_BYTES, Arrays.<Cell>asList(
      PhoenixKeyValueUtil.newKeyValue(key, PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_FAMILY_BYTES, QueryConstants.EMPTY_COLUMN_BYTES, timestamp, ByteUtil.EMPTY_BYTE_ARRAY),
      PhoenixKeyValueUtil.newKeyValue(key, PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_FAMILY_BYTES, PhoenixDatabaseMetaData.CURRENT_VALUE_BYTES, timestamp, startWithBuf),
      PhoenixKeyValueUtil.newKeyValue(key, PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_FAMILY_BYTES, PhoenixDatabaseMetaData.START_WITH_BYTES, timestamp, startWithBuf),
      PhoenixKeyValueUtil.newKeyValue(key, PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_FAMILY_BYTES, PhoenixDatabaseMetaData.INCREMENT_BY_BYTES, timestamp, PLong.INSTANCE.toBytes(incrementBy)),
      PhoenixKeyValueUtil.newKeyValue(key, PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_FAMILY_BYTES, PhoenixDatabaseMetaData.CACHE_SIZE_BYTES, timestamp, PLong.INSTANCE.toBytes(cacheSize)),
      PhoenixKeyValueUtil.newKeyValue(key, PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_FAMILY_BYTES, PhoenixDatabaseMetaData.MIN_VALUE_BYTES, timestamp, PLong.INSTANCE.toBytes(minValue)),
      PhoenixKeyValueUtil.newKeyValue(key, PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_FAMILY_BYTES, PhoenixDatabaseMetaData.MAX_VALUE_BYTES, timestamp, PLong.INSTANCE.toBytes(maxValue)),
      PhoenixKeyValueUtil.newKeyValue(key, PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_FAMILY_BYTES, PhoenixDatabaseMetaData.CYCLE_FLAG_BYTES, timestamp, PBoolean.INSTANCE.toBytes(cycle)),
      PhoenixKeyValueUtil.newKeyValue(key, PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_FAMILY_BYTES, PhoenixDatabaseMetaData.LIMIT_REACHED_FLAG_BYTES, timestamp, PDataType.FALSE_BYTES)
      ));
  return append;
}

相关文章