public class StructSubfieldEncoder extends Object
StructVector
.
Notes that child vectors within struct vector can either be dictionary encodable or not.Constructor and Description |
---|
StructSubfieldEncoder(BufferAllocator allocator,
DictionaryProvider.MapDictionaryProvider provider)
Construct an instance.
|
StructSubfieldEncoder(BufferAllocator allocator,
DictionaryProvider.MapDictionaryProvider provider,
ArrowBufHasher hasher)
Construct an instance.
|
Modifier and Type | Method and Description |
---|---|
StructVector |
decode(StructVector vector)
Decodes a dictionary subfields encoded vector using the provided dictionary.
|
static StructVector |
decode(StructVector vector,
DictionaryProvider.MapDictionaryProvider provider,
BufferAllocator allocator)
Decodes a dictionary subfields encoded vector using the provided dictionary.
|
StructVector |
encode(StructVector vector,
Map<Integer,Long> columnToDictionaryId)
Dictionary encodes subfields for complex vector with a provided dictionary.
|
public StructSubfieldEncoder(BufferAllocator allocator, DictionaryProvider.MapDictionaryProvider provider)
public StructSubfieldEncoder(BufferAllocator allocator, DictionaryProvider.MapDictionaryProvider provider, ArrowBufHasher hasher)
public StructVector encode(StructVector vector, Map<Integer,Long> columnToDictionaryId)
vector
- vector to encodecolumnToDictionaryId
- the mappings between child vector index and dictionary id. A null dictionary
id indicates the child vector is not encodable.public StructVector decode(StructVector vector)
decode(StructVector, DictionaryProvider.MapDictionaryProvider, BufferAllocator)
should be used instead if only decoding is required as it can avoid building the DictionaryHashTable
which only makes sense when encoding.vector
- dictionary encoded vector, its child vector must be int typepublic static StructVector decode(StructVector vector, DictionaryProvider.MapDictionaryProvider provider, BufferAllocator allocator)
vector
- dictionary encoded vector, its data vector must be int typeprovider
- dictionary provider used to decode the valuesallocator
- allocator the decoded values useCopyright © 2023 The Apache Software Foundation. All rights reserved.