Package org.apache.accumulo.core.util
Class LocalityGroupUtil
- java.lang.Object
-
- org.apache.accumulo.core.util.LocalityGroupUtil
-
public class LocalityGroupUtil extends Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classLocalityGroupUtil.LocalityGroupConfigurationErrorstatic classLocalityGroupUtil.PartitionedMutationstatic classLocalityGroupUtil.Partitioner
-
Field Summary
Fields Modifier and Type Field Description static Set<ByteSequence>EMPTY_CF_SET
-
Constructor Summary
Constructors Constructor Description LocalityGroupUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static voidcheckLocalityGroups(Iterable<Map.Entry<String,String>> config)static Set<ByteSequence>decodeColumnFamilies(String colFams)static ByteSequencedecodeColumnFamily(String colFam)static StringencodeColumnFamilies(Set<org.apache.hadoop.io.Text> colFams)static StringencodeColumnFamily(ByteSequence bs)static voidensureNonOverlappingGroups(Map<String,Set<org.apache.hadoop.io.Text>> groups)static Set<ByteSequence>families(Collection<Column> columns)Create a set of families to be passed into the SortedKeyValueIterator seek call from a supplied set of columns.static Map<String,Set<ByteSequence>>getLocalityGroups(AccumuloConfiguration acuconf)static Map<String,Set<ByteSequence>>getLocalityGroupsIgnoringErrors(AccumuloConfiguration acuconf, TableId tableId)static booleanisLocalityGroupProperty(String prop)static voidseek(FileSKVIterator reader, Range range, String lgName, Map<String,ArrayList<ByteSequence>> localityGroupCF)This method created to help seek an rfile for a locality group obtained fromRFile.Reader.getLocalityGroupCF().
-
-
-
Field Detail
-
EMPTY_CF_SET
public static final Set<ByteSequence> EMPTY_CF_SET
-
-
Method Detail
-
families
public static Set<ByteSequence> families(Collection<Column> columns)
Create a set of families to be passed into the SortedKeyValueIterator seek call from a supplied set of columns. We are using the ImmutableSet to enable faster comparisons down in the LocalityGroupIterator.- Parameters:
columns- The set of columns- Returns:
- An immutable set of columns
-
isLocalityGroupProperty
public static boolean isLocalityGroupProperty(String prop)
-
checkLocalityGroups
public static void checkLocalityGroups(Iterable<Map.Entry<String,String>> config) throws LocalityGroupUtil.LocalityGroupConfigurationError
-
getLocalityGroupsIgnoringErrors
public static Map<String,Set<ByteSequence>> getLocalityGroupsIgnoringErrors(AccumuloConfiguration acuconf, TableId tableId)
-
getLocalityGroups
public static Map<String,Set<ByteSequence>> getLocalityGroups(AccumuloConfiguration acuconf) throws LocalityGroupUtil.LocalityGroupConfigurationError
-
decodeColumnFamilies
public static Set<ByteSequence> decodeColumnFamilies(String colFams) throws LocalityGroupUtil.LocalityGroupConfigurationError
-
decodeColumnFamily
public static ByteSequence decodeColumnFamily(String colFam) throws LocalityGroupUtil.LocalityGroupConfigurationError
-
encodeColumnFamilies
public static String encodeColumnFamilies(Set<org.apache.hadoop.io.Text> colFams)
-
encodeColumnFamily
public static String encodeColumnFamily(ByteSequence bs)
-
seek
public static void seek(FileSKVIterator reader, Range range, String lgName, Map<String,ArrayList<ByteSequence>> localityGroupCF) throws IOException
This method created to help seek an rfile for a locality group obtained fromRFile.Reader.getLocalityGroupCF(). This method can possibly return an empty list for the default locality group. When this happens the default locality group needs to be seeked differently. This method helps do that.For the default locality group will seek using the families of all other locality groups non-inclusive.
- Throws:
IOException- See Also:
RFile.Reader.getLocalityGroupCF()
-
-