Package com.linkedin.davinci.compression
Class UrnDictV1
java.lang.Object
com.linkedin.davinci.compression.UrnDictV1
This class implements a URN dictionary for encoding and decoding URNs.
 The dictionary maps URN types to integer IDs to reduce the size of URNs when stored
 in a data store or transmitted over the network.
- 
Nested Class SummaryNested Classes
- 
Field SummaryFieldsModifier and TypeFieldDescriptionstatic final intstatic final RecordDeserializer<Object>static final org.apache.avro.Schemastatic final RecordSerializer<Object>static final intstatic final Stringstatic final intstatic final Character
- 
Method SummaryModifier and TypeMethodDescriptionstatic UrnDictV1loadDict(byte[] dict, int maxDictSize) static UrnDictV1loadDict(ByteBuffer dict) static UrnDictV1loadDict(ByteBuffer dict, int maxDictSize) static UrnDictV1static UrnDictV1byte[]static UrnDictV1static voidvalidateDict(Map<String, Integer> dict) This function will validate the dictionary in the following ways: 1.
- 
Field Details- 
DEFAULT_MAX_DICT_SIZEpublic static final int DEFAULT_MAX_DICT_SIZE- See Also:
 
- 
URN_PREFIX- See Also:
 
- 
URN_SEPARATOR
- 
URN_PREFIX_LENGTHpublic static final int URN_PREFIX_LENGTH
- 
UNKNOWN_URN_TYPE_IDpublic static final int UNKNOWN_URN_TYPE_ID- See Also:
 
- 
DICT_SCHEMApublic static final org.apache.avro.Schema DICT_SCHEMA
- 
DICT_SERIALIZER
- 
DICT_DESERIALIZER
 
- 
- 
Method Details- 
validateDictThis function will validate the dictionary in the following ways: 1. Make sure the dictionary is not null. 2. Make sure the mapped ids are in the range of [0, dict.size() - 1). 3. Make sure there are no duplicate ids. When validation fail, it will throw an VeniceException.
- 
getUrnToIdMap
- 
loadDict
- 
loadDict
- 
loadDict
- 
loadDict
- 
loadDict
- 
serializeDictpublic byte[] serializeDict()
- 
trainDict
- 
encodeUrn
- 
encodeUrn
- 
decodeUrn
 
-