layout.getFamilyMap().get(columnRequest.getFamily()).getLocalityGroup().getId(); localityGroups.add(localityGroupId);
if (familyLayout.getLocalityGroup().getFamilyMap().size() > 1) {
/** {@inheritDoc}*/ @Override public HBaseColumnName toHBaseColumnName(FijiColumnName fijiColumnName) throws NoSuchColumnException { final String familyName = fijiColumnName.getFamily(); final String qualifierName = fijiColumnName.getQualifier(); // Validate the Fiji family final FamilyLayout family = mLayout.getFamilyMap().get(familyName); if (family == null) { throw new NoSuchColumnException(fijiColumnName.toString()); } // Validate the Fiji qualifier if (family.isGroupType() && !family.getColumnMap().containsKey(qualifierName)) { throw new NoSuchColumnException(fijiColumnName.toString()); } final byte[] localityGroupBytes = Bytes.toBytes(family.getLocalityGroup().getName()); final byte[] familyBytes = Bytes.toBytes(familyName); final byte[] qualifierBytes = Bytes.toBytes(qualifierName); final byte[] hbaseQualifierBytes = ShortColumnNameTranslator.concatWithSeparator(SEPARATOR, familyBytes, qualifierBytes); return new HBaseColumnName(localityGroupBytes, hbaseQualifierBytes); }
final ColumnId lgid = flayout.getLocalityGroup().getId();
layout.getFamilyMap().get(column.getFamily()).getLocalityGroup().getId(); final CassandraTableName tableName = CassandraTableName.getLocalityGroupTableName(tableURI, localityGroupId);
CassandraTableName.getLocalityGroupTableName( tableURI, familyLayout.getLocalityGroup().getId()); int ttl = familyLayout.getLocalityGroup().getDesc().getTtlSeconds();
if (familyLayout.getLocalityGroup().getFamilyMap().size() > 1) {
final ColumnId localityGroupId = familyLayout.getLocalityGroup().getId(); if (mTableName == null) { tableURI, familyLayout.getLocalityGroup().getId()); } else { Preconditions.checkArgument(mTableName.getLocalityGroupId().equals(localityGroupId), int ttl = familyLayout.getLocalityGroup().getDesc().getTtlSeconds();
final ColumnId localityGroupID = family.getLocalityGroup().getId(); final ColumnId familyID = family.getId();
CassandraTableName.getLocalityGroupTableName( tableURI, familyLayout.getLocalityGroup().getId());
CassandraTableName.getLocalityGroupTableName( tableURI, familyLayout.getLocalityGroup().getId());
/** {@inheritDoc} */ @Override public void deleteFamily(EntityId entityId, String family, long upToTimestamp) throws IOException { final HBaseFijiTableWriter.WriterLayoutCapsule capsule = mWriterLayoutCapsule; final FamilyLayout familyLayout = capsule.getLayout().getFamilyMap().get(family); if (null == familyLayout) { throw new NoSuchColumnException(String.format("Family '%s' not found.", family)); } if (familyLayout.getLocalityGroup().getFamilyMap().size() > 1) { // There are multiple families within the locality group, so we need to be clever. if (familyLayout.isGroupType()) { deleteGroupFamily(entityId, familyLayout, upToTimestamp); } else if (familyLayout.isMapType()) { deleteMapFamily(entityId, familyLayout, upToTimestamp); } else { throw new RuntimeException("Internal error: family is neither map-type nor group-type."); } return; } // The only data in this HBase family is the one Fiji family, so we can delete everything. final HBaseColumnName hbaseColumnName = capsule.getColumnNameTranslator() .toHBaseColumnName(FijiColumnName.create(family)); final Delete delete = new Delete(entityId.getHBaseRowKey()); delete.deleteFamily(hbaseColumnName.getFamily(), upToTimestamp); // Buffer the delete. updateBuffer(delete); }
/** * Creates a new {@link HBaseNativeColumnNameTranslator} instance. * * @param layout The layout of the table to translate column names for. */ public HBaseNativeColumnNameTranslator(FijiTableLayout layout) { mLayout = layout; for (FamilyLayout family : mLayout.getFamilies()) { // Validate that all Fiji column families are the same as their respective locality groups Preconditions.checkArgument(family.getName().equals(family.getLocalityGroup().getName()), "For HBASE_NATIVE column name translation, family: '%s' must match locality group: '%s'", family.getName(), family.getLocalityGroup().getName()); // Validate all Fiji column families are group type Preconditions.checkArgument(family.isGroupType(), "For HBASE_NATIVE column name translation, family: '%s' must be a group type.", family.getName()); } }