Class UnionMapWriter
- All Implemented Interfaces:
AutoCloseable,Positionable,BaseWriter,BaseWriter.ListWriter,BaseWriter.MapWriter,BaseWriter.ScalarWriter,BaseWriter.StructWriter,BigIntWriter,BitWriter,DateDayWriter,DateMilliWriter,Decimal256Writer,DecimalWriter,DurationWriter,FieldWriter,FixedSizeBinaryWriter,Float2Writer,Float4Writer,Float8Writer,IntervalDayWriter,IntervalMonthDayNanoWriter,IntervalYearWriter,IntWriter,LargeVarBinaryWriter,LargeVarCharWriter,SmallIntWriter,TimeMicroWriter,TimeMilliWriter,TimeNanoWriter,TimeSecWriter,TimeStampMicroTZWriter,TimeStampMicroWriter,TimeStampMilliTZWriter,TimeStampMilliWriter,TimeStampNanoTZWriter,TimeStampNanoWriter,TimeStampSecTZWriter,TimeStampSecWriter,TinyIntWriter,UInt1Writer,UInt2Writer,UInt4Writer,UInt8Writer,VarBinaryWriter,VarCharWriter,ViewVarBinaryWriter,ViewVarCharWriter
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
invalid input: '{@code
// {
// 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();
</pre>
</p>'-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.arrow.vector.complex.writer.BaseWriter
BaseWriter.ComplexWriter, BaseWriter.ListWriter, BaseWriter.MapWriter, BaseWriter.ScalarWriter, BaseWriter.StructOrListWriter, BaseWriter.StructWriter -
Field Summary
FieldsFields inherited from class org.apache.arrow.vector.complex.impl.UnionListWriter
vector, writer -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbigInt()bit()voidcopyReader(FieldReader reader) voidcopyReaderToField(String name, FieldReader reader) dateDay()decimal()voidendEntry()Complete the map entry.voidendMap()Complete the map.float2()float4()float8()intinteger()booleanThis implementation returnsfalse.key()Return the key writer that is used to write to the "key" field.list()map(boolean keysSorted) voidsetAddVectorAsNullable(boolean nullable) Set flag to control the FieldType.nullable property when a writer creates a new vector.smallInt()voidvoidstartMap()Start writing a map that consists of 1 or more entries.struct()timeNano()timeSec()tinyInt()toString()uInt1()uInt2()uInt4()uInt8()value()Return the value writer that is used to write to the "value" field.varChar()voidwriteBigEndianBytesToDecimal(byte[] value) voidwriteBigEndianBytesToDecimal256(byte[] value) Methods inherited from class org.apache.arrow.vector.complex.impl.UnionListWriter
allocate, bigInt, bit, clear, close, dateDay, dateMilli, decimal, decimal, decimal256, decimal256, duration, duration, duration, end, endList, fixedSizeBinary, fixedSizeBinary, fixedSizeBinary, float2, float4, float8, getField, getValueCapacity, integer, intervalDay, intervalMonthDayNano, intervalYear, largeVarBinary, largeVarChar, list, map, map, map, setPosition, setValueCount, smallInt, start, startList, struct, timeMicro, timeMilli, timeNano, timeSec, timeStampMicro, timeStampMicroTZ, timeStampMicroTZ, timeStampMicroTZ, timeStampMilli, timeStampMilliTZ, timeStampMilliTZ, timeStampMilliTZ, timeStampNano, timeStampNanoTZ, timeStampNanoTZ, timeStampNanoTZ, timeStampSec, timeStampSecTZ, timeStampSecTZ, timeStampSecTZ, tinyInt, uInt1, uInt2, uInt4, uInt8, varBinary, varChar, viewVarBinary, viewVarChar, 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, write, write, write, write, write, write, write, write, write, write, write, writeBigEndianBytesToDecimal, writeBigEndianBytesToDecimal256, writeBigInt, writeBit, writeDateDay, writeDateMilli, writeDecimal, writeDecimal, writeDecimal, writeDecimal256, writeDecimal256, writeDecimal256, writeDuration, writeFixedSizeBinary, writeFloat2, writeFloat4, writeFloat8, writeInt, writeIntervalDay, writeIntervalMonthDayNano, writeIntervalYear, writeLargeVarBinary, writeLargeVarBinary, writeLargeVarBinary, writeLargeVarBinary, writeLargeVarBinary, writeLargeVarChar, writeLargeVarChar, writeLargeVarChar, writeNull, writeSmallInt, writeTimeMicro, writeTimeMilli, writeTimeNano, writeTimeSec, writeTimeStampMicro, writeTimeStampMicroTZ, writeTimeStampMilli, writeTimeStampMilliTZ, writeTimeStampNano, writeTimeStampNanoTZ, writeTimeStampSec, writeTimeStampSecTZ, writeTinyInt, writeUInt1, writeUInt2, writeUInt4, writeUInt8, writeVarBinary, writeVarBinary, writeVarBinary, writeVarBinary, writeVarBinary, writeVarChar, writeVarChar, writeVarChar, writeViewVarBinary, writeViewVarBinary, writeViewVarBinary, writeViewVarBinary, writeViewVarBinary, writeViewVarChar, writeViewVarChar, writeViewVarCharMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.arrow.vector.complex.Positionable
getPosition
-
Field Details
-
addVectorAsNullable
protected boolean addVectorAsNullable
-
-
Constructor Details
-
UnionMapWriter
-
-
Method Details
-
startMap
public void startMap()Start writing a map that consists of 1 or more entries.- Specified by:
startMapin interfaceBaseWriter.MapWriter
-
endMap
public void endMap()Complete the map.- Specified by:
endMapin interfaceBaseWriter.MapWriter
-
startEntry
public void startEntry()Start a map entry that should be followed by calls tokey()andvalue()writers. CallendEntry()to complete the entry.- Specified by:
startEntryin interfaceBaseWriter.MapWriter
-
endEntry
public void endEntry()Complete the map entry.- Specified by:
endEntryin interfaceBaseWriter.MapWriter
-
key
Return the key writer that is used to write to the "key" field.- Specified by:
keyin interfaceBaseWriter.MapWriter
-
value
Return the value writer that is used to write to the "value" field.- Specified by:
valuein interfaceBaseWriter.MapWriter
-
tinyInt
- Specified by:
tinyIntin interfaceBaseWriter.ListWriter- Overrides:
tinyIntin classUnionListWriter
-
uInt1
- Specified by:
uInt1in interfaceBaseWriter.ListWriter- Overrides:
uInt1in classUnionListWriter
-
uInt2
- Specified by:
uInt2in interfaceBaseWriter.ListWriter- Overrides:
uInt2in classUnionListWriter
-
smallInt
- Specified by:
smallIntin interfaceBaseWriter.ListWriter- Overrides:
smallIntin classUnionListWriter
-
float2
- Specified by:
float2in interfaceBaseWriter.ListWriter- Overrides:
float2in classUnionListWriter
-
integer
- Specified by:
integerin interfaceBaseWriter.ListWriter- Overrides:
integerin classUnionListWriter
-
uInt4
- Specified by:
uInt4in interfaceBaseWriter.ListWriter- Overrides:
uInt4in classUnionListWriter
-
float4
- Specified by:
float4in interfaceBaseWriter.ListWriter- Overrides:
float4in classUnionListWriter
-
dateDay
- Specified by:
dateDayin interfaceBaseWriter.ListWriter- Overrides:
dateDayin classUnionListWriter
-
intervalYear
- Specified by:
intervalYearin interfaceBaseWriter.ListWriter- Overrides:
intervalYearin classUnionListWriter
-
timeSec
- Specified by:
timeSecin interfaceBaseWriter.ListWriter- Overrides:
timeSecin classUnionListWriter
-
timeMilli
- Specified by:
timeMilliin interfaceBaseWriter.ListWriter- Overrides:
timeMilliin classUnionListWriter
-
bigInt
- Specified by:
bigIntin interfaceBaseWriter.ListWriter- Overrides:
bigIntin classUnionListWriter
-
uInt8
- Specified by:
uInt8in interfaceBaseWriter.ListWriter- Overrides:
uInt8in classUnionListWriter
-
float8
- Specified by:
float8in interfaceBaseWriter.ListWriter- Overrides:
float8in classUnionListWriter
-
dateMilli
- Specified by:
dateMilliin interfaceBaseWriter.ListWriter- Overrides:
dateMilliin classUnionListWriter
-
timeStampSec
- Specified by:
timeStampSecin interfaceBaseWriter.ListWriter- Overrides:
timeStampSecin classUnionListWriter
-
timeStampMilli
- Specified by:
timeStampMilliin interfaceBaseWriter.ListWriter- Overrides:
timeStampMilliin classUnionListWriter
-
timeStampMicro
- Specified by:
timeStampMicroin interfaceBaseWriter.ListWriter- Overrides:
timeStampMicroin classUnionListWriter
-
timeStampNano
- Specified by:
timeStampNanoin interfaceBaseWriter.ListWriter- Overrides:
timeStampNanoin classUnionListWriter
-
timeMicro
- Specified by:
timeMicroin interfaceBaseWriter.ListWriter- Overrides:
timeMicroin classUnionListWriter
-
timeNano
- Specified by:
timeNanoin interfaceBaseWriter.ListWriter- Overrides:
timeNanoin classUnionListWriter
-
intervalDay
- Specified by:
intervalDayin interfaceBaseWriter.ListWriter- Overrides:
intervalDayin classUnionListWriter
-
intervalMonthDayNano
- Specified by:
intervalMonthDayNanoin interfaceBaseWriter.ListWriter- Overrides:
intervalMonthDayNanoin classUnionListWriter
-
varBinary
- Specified by:
varBinaryin interfaceBaseWriter.ListWriter- Overrides:
varBinaryin classUnionListWriter
-
varChar
- Specified by:
varCharin interfaceBaseWriter.ListWriter- Overrides:
varCharin classUnionListWriter
-
viewVarBinary
- Specified by:
viewVarBinaryin interfaceBaseWriter.ListWriter- Overrides:
viewVarBinaryin classUnionListWriter
-
viewVarChar
- Specified by:
viewVarCharin interfaceBaseWriter.ListWriter- Overrides:
viewVarCharin classUnionListWriter
-
largeVarChar
- Specified by:
largeVarCharin interfaceBaseWriter.ListWriter- Overrides:
largeVarCharin classUnionListWriter
-
largeVarBinary
- Specified by:
largeVarBinaryin interfaceBaseWriter.ListWriter- Overrides:
largeVarBinaryin classUnionListWriter
-
bit
- Specified by:
bitin interfaceBaseWriter.ListWriter- Overrides:
bitin classUnionListWriter
-
decimal
- Specified by:
decimalin interfaceBaseWriter.ListWriter- Overrides:
decimalin classUnionListWriter
-
decimal256
- Specified by:
decimal256in interfaceBaseWriter.ListWriter- Overrides:
decimal256in classUnionListWriter
-
struct
- Specified by:
structin interfaceBaseWriter.ListWriter- Overrides:
structin classUnionListWriter
-
list
- Specified by:
listin interfaceBaseWriter.ListWriter- Overrides:
listin classUnionListWriter
-
map
- Specified by:
mapin interfaceBaseWriter.ListWriter- Overrides:
mapin classUnionListWriter
-
setAddVectorAsNullable
public void setAddVectorAsNullable(boolean nullable) Set flag to control the FieldType.nullable property when a writer creates a new vector. If true then vectors created will be nullable, this is the default behavior. If false then vectors created will be non-nullable.- Parameters:
nullable- Whether or not to create nullable vectors (default behavior is true)
-
writeBigEndianBytesToDecimal256
public void writeBigEndianBytesToDecimal256(byte[] value) - Specified by:
writeBigEndianBytesToDecimal256in interfaceDecimal256Writer- See Also:
-
writeBigEndianBytesToDecimal
public void writeBigEndianBytesToDecimal(byte[] value) - Specified by:
writeBigEndianBytesToDecimalin interfaceDecimalWriter- See Also:
-
isEmptyStruct
public boolean isEmptyStruct()This implementation returnsfalse.Must be overridden by struct writers.
- Specified by:
isEmptyStructin interfaceBaseWriter.StructWriter- Returns:
- whether the struct is empty
-
copyReader
- Specified by:
copyReaderin interfaceBaseWriter.ListWriter
-
copyReaderToField
- Specified by:
copyReaderToFieldin interfaceBaseWriter.StructWriter
-
toString
-
getPosition
public int getPosition()- Specified by:
getPositionin interfacePositionable
-