public class UnionMapWriter extends UnionListWriter
Writer for MapVectors. This extends UnionListWriter to simplify writing map entries to a list
of struct elements, with "key" and "value" fields. The procedure for writing a map begin with
startMap() followed by startEntry(). An entry is written by using the
key() writer to write the key, then the value() writer to write a value. After
writing the value, call endEntry() to complete the entry. Each map can have 1 or more
entries. When done writing entries, call endMap() to complete the map.
NOTE: the MapVector can have NULL values by not writing to position. If a map is started with
startMap(), then it must have a key written. The value of a map entry can be NULL by
not using the value() writer.
Example to write the following map to position 5 of a vector
// {
// 1 -> 3,
// 2 -> 4,
// 3 -> NULL
// }
UnionMapWriter writer = ...
writer.setPosition(5);
writer.startMap();
writer.startEntry();
writer.key().integer().writeInt(1);
writer.value().integer().writeInt(3);
writer.endEntry();
writer.startEntry();
writer.key().integer().writeInt(2);
writer.value().integer().writeInt(4);
writer.endEntry();
writer.startEntry();
writer.key().integer().writeInt(3);
writer.endEntry();
writer.endMap();
BaseWriter.ComplexWriter, BaseWriter.ListWriter, BaseWriter.ScalarWriter, BaseWriter.StructOrListWriter, BaseWriter.StructWriter| Modifier and Type | Field and Description |
|---|---|
protected boolean |
addVectorAsNullable |
vector, writer| Constructor and Description |
|---|
UnionMapWriter(MapVector vector) |
allocate, bigInt, bit, clear, close, dateDay, dateMilli, decimal, decimal, end, endList, float4, float8, getField, getValueCapacity, integer, intervalDay, intervalYear, largeVarBinary, largeVarChar, list, setPosition, setValueCount, smallInt, start, startList, struct, timeMicro, timeMilli, timeNano, timeSec, timeStampMicro, timeStampMilli, timeStampNano, timeStampSec, tinyInt, uInt1, uInt2, uInt4, uInt8, varBinary, varChar, write, write, write, write, write, write, write, write, write, write, write, write, write, write, write, write, write, write, write, write, write, write, write, write, write, write, write, write, writeBigEndianBytesToDecimal, writeBigInt, writeBit, writeDateDay, writeDateMilli, writeDecimal, writeDecimal, writeDecimal, writeFloat4, writeFloat8, writeInt, writeIntervalDay, writeIntervalYear, writeLargeVarBinary, writeLargeVarChar, writeNull, writeSmallInt, writeTimeMicro, writeTimeMilli, writeTimeNano, writeTimeSec, writeTimeStampMicro, writeTimeStampMilli, writeTimeStampNano, writeTimeStampSec, writeTinyInt, writeUInt1, writeUInt2, writeUInt4, writeUInt8, writeVarBinary, writeVarCharclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetPositionpublic UnionMapWriter(MapVector vector)
public void startMap()
public void endMap()
public void startEntry()
key() and value()
writers. Call endEntry() to complete the entry.public void endEntry()
public UnionMapWriter key()
public UnionMapWriter value()
public TinyIntWriter tinyInt()
tinyInt in interface BaseWriter.ListWritertinyInt in class UnionListWriterpublic UInt1Writer uInt1()
uInt1 in interface BaseWriter.ListWriteruInt1 in class UnionListWriterpublic UInt2Writer uInt2()
uInt2 in interface BaseWriter.ListWriteruInt2 in class UnionListWriterpublic SmallIntWriter smallInt()
smallInt in interface BaseWriter.ListWritersmallInt in class UnionListWriterpublic IntWriter integer()
integer in interface BaseWriter.ListWriterinteger in class UnionListWriterpublic UInt4Writer uInt4()
uInt4 in interface BaseWriter.ListWriteruInt4 in class UnionListWriterpublic Float4Writer float4()
float4 in interface BaseWriter.ListWriterfloat4 in class UnionListWriterpublic DateDayWriter dateDay()
dateDay in interface BaseWriter.ListWriterdateDay in class UnionListWriterpublic IntervalYearWriter intervalYear()
intervalYear in interface BaseWriter.ListWriterintervalYear in class UnionListWriterpublic TimeSecWriter timeSec()
timeSec in interface BaseWriter.ListWritertimeSec in class UnionListWriterpublic TimeMilliWriter timeMilli()
timeMilli in interface BaseWriter.ListWritertimeMilli in class UnionListWriterpublic BigIntWriter bigInt()
bigInt in interface BaseWriter.ListWriterbigInt in class UnionListWriterpublic UInt8Writer uInt8()
uInt8 in interface BaseWriter.ListWriteruInt8 in class UnionListWriterpublic Float8Writer float8()
float8 in interface BaseWriter.ListWriterfloat8 in class UnionListWriterpublic DateMilliWriter dateMilli()
dateMilli in interface BaseWriter.ListWriterdateMilli in class UnionListWriterpublic TimeStampSecWriter timeStampSec()
timeStampSec in interface BaseWriter.ListWritertimeStampSec in class UnionListWriterpublic TimeStampMilliWriter timeStampMilli()
timeStampMilli in interface BaseWriter.ListWritertimeStampMilli in class UnionListWriterpublic TimeStampMicroWriter timeStampMicro()
timeStampMicro in interface BaseWriter.ListWritertimeStampMicro in class UnionListWriterpublic TimeStampNanoWriter timeStampNano()
timeStampNano in interface BaseWriter.ListWritertimeStampNano in class UnionListWriterpublic TimeMicroWriter timeMicro()
timeMicro in interface BaseWriter.ListWritertimeMicro in class UnionListWriterpublic TimeNanoWriter timeNano()
timeNano in interface BaseWriter.ListWritertimeNano in class UnionListWriterpublic IntervalDayWriter intervalDay()
intervalDay in interface BaseWriter.ListWriterintervalDay in class UnionListWriterpublic VarBinaryWriter varBinary()
varBinary in interface BaseWriter.ListWritervarBinary in class UnionListWriterpublic VarCharWriter varChar()
varChar in interface BaseWriter.ListWritervarChar in class UnionListWriterpublic LargeVarCharWriter largeVarChar()
largeVarChar in interface BaseWriter.ListWriterlargeVarChar in class UnionListWriterpublic LargeVarBinaryWriter largeVarBinary()
largeVarBinary in interface BaseWriter.ListWriterlargeVarBinary in class UnionListWriterpublic BitWriter bit()
bit in interface BaseWriter.ListWriterbit in class UnionListWriterpublic DecimalWriter decimal()
decimal in interface BaseWriter.ListWriterdecimal in class UnionListWriterpublic BaseWriter.StructWriter struct()
struct in interface BaseWriter.ListWriterstruct in class UnionListWriterpublic BaseWriter.ListWriter list()
list in interface BaseWriter.ListWriterlist in class UnionListWriterpublic void setAddVectorAsNullable(boolean nullable)
nullable - Whether or not to create nullable vectors (default behavior is true)public void write(DurationHolder holder)
write in interface DurationWriterpublic void writeDuration(long value)
writeDuration in interface DurationWriterpublic void write(TimeStampSecTZHolder holder)
write in interface TimeStampSecTZWriterpublic void writeTimeStampSecTZ(long value)
writeTimeStampSecTZ in interface TimeStampSecTZWriterpublic void write(TimeStampMilliTZHolder holder)
write in interface TimeStampMilliTZWriterpublic void writeTimeStampMilliTZ(long value)
writeTimeStampMilliTZ in interface TimeStampMilliTZWriterpublic void write(TimeStampMicroTZHolder holder)
write in interface TimeStampMicroTZWriterpublic void writeTimeStampMicroTZ(long value)
writeTimeStampMicroTZ in interface TimeStampMicroTZWriterpublic void write(TimeStampNanoTZHolder holder)
write in interface TimeStampNanoTZWriterpublic void writeTimeStampNanoTZ(long value)
writeTimeStampNanoTZ in interface TimeStampNanoTZWriterpublic void writeBigEndianBytesToDecimal(byte[] value)
writeBigEndianBytesToDecimal in interface DecimalWriterpublic void write(FixedSizeBinaryHolder holder)
write in interface FixedSizeBinaryWriterpublic void writeFixedSizeBinary(ArrowBuf buffer)
writeFixedSizeBinary in interface FixedSizeBinaryWriterpublic boolean isEmptyStruct()
false.
Must be overridden by struct writers.
isEmptyStruct in interface BaseWriter.StructWriterpublic DurationWriter duration(String name, TimeUnit unit)
duration in interface BaseWriter.StructWriterpublic DurationWriter duration(String name)
duration in interface BaseWriter.StructWriterpublic DurationWriter duration()
duration in interface BaseWriter.ListWriterpublic TimeStampSecTZWriter timeStampSecTZ(String name, String timezone)
timeStampSecTZ in interface BaseWriter.StructWriterpublic TimeStampSecTZWriter timeStampSecTZ(String name)
timeStampSecTZ in interface BaseWriter.StructWriterpublic TimeStampSecTZWriter timeStampSecTZ()
timeStampSecTZ in interface BaseWriter.ListWriterpublic TimeStampMilliTZWriter timeStampMilliTZ(String name, String timezone)
timeStampMilliTZ in interface BaseWriter.StructWriterpublic TimeStampMilliTZWriter timeStampMilliTZ(String name)
timeStampMilliTZ in interface BaseWriter.StructWriterpublic TimeStampMilliTZWriter timeStampMilliTZ()
timeStampMilliTZ in interface BaseWriter.ListWriterpublic TimeStampMicroTZWriter timeStampMicroTZ(String name, String timezone)
timeStampMicroTZ in interface BaseWriter.StructWriterpublic TimeStampMicroTZWriter timeStampMicroTZ(String name)
timeStampMicroTZ in interface BaseWriter.StructWriterpublic TimeStampMicroTZWriter timeStampMicroTZ()
timeStampMicroTZ in interface BaseWriter.ListWriterpublic TimeStampNanoTZWriter timeStampNanoTZ(String name, String timezone)
timeStampNanoTZ in interface BaseWriter.StructWriterpublic TimeStampNanoTZWriter timeStampNanoTZ(String name)
timeStampNanoTZ in interface BaseWriter.StructWriterpublic TimeStampNanoTZWriter timeStampNanoTZ()
timeStampNanoTZ in interface BaseWriter.ListWriterpublic FixedSizeBinaryWriter fixedSizeBinary(String name, int byteWidth)
fixedSizeBinary in interface BaseWriter.StructWriterpublic FixedSizeBinaryWriter fixedSizeBinary(String name)
fixedSizeBinary in interface BaseWriter.StructWriterpublic FixedSizeBinaryWriter fixedSizeBinary()
fixedSizeBinary in interface BaseWriter.ListWriterpublic void copyReader(FieldReader reader)
copyReader in interface BaseWriter.ListWriterpublic void copyReaderToField(String name, FieldReader reader)
copyReaderToField in interface BaseWriter.StructWriterpublic int getPosition()
getPosition in interface PositionableCopyright © 2020 The Apache Software Foundation. All rights reserved.