Package org.apache.spark.types.variant
Class VariantBuilder
Object
org.apache.spark.types.variant.VariantBuilder
Build variant value and metadata by parsing JSON values.
-
Nested Class Summary
Nested Classes -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintvoidappendBinary(byte[] binary) voidappendBoolean(boolean b) voidappendDate(int daysSinceEpoch) voidappendDayTimeInterval(long value, byte startField, byte endField) voidvoidappendDouble(double d) voidappendFloat(float f) voidappendLong(long l) voidvoidappendString(String str) voidappendTimestamp(long microsSinceEpoch) voidappendTimestampNtz(long microsSinceEpoch) voidvoidappendYearMonthInterval(long value, byte startField, byte endField) voidfinishWritingArray(int start, ArrayList<Integer> offsets) voidfinishWritingObject(int start, ArrayList<VariantBuilder.FieldEntry> fields) intstatic VariantparseJson(com.fasterxml.jackson.core.JsonParser parser, boolean allowDuplicateKeys) SimilarparseJson(String, boolean), but takes a JSON parser instead of string input.static VariantParse a JSON string as a Variant value.result()
-
Constructor Details
-
VariantBuilder
public VariantBuilder(boolean allowDuplicateKeys)
-
-
Method Details
-
parseJson
Parse a JSON string as a Variant value.- Throws:
VariantSizeLimitException- if the resulting variant value or metadata would exceed the SIZE_LIMIT (for example, this could be a maximum of 16 MiB).IOException- if any JSON parsing error happens.
-
parseJson
public static Variant parseJson(com.fasterxml.jackson.core.JsonParser parser, boolean allowDuplicateKeys) throws IOException SimilarparseJson(String, boolean), but takes a JSON parser instead of string input.- Throws:
IOException
-
result
-
appendString
-
appendNull
public void appendNull() -
appendBoolean
public void appendBoolean(boolean b) -
appendLong
public void appendLong(long l) -
appendDouble
public void appendDouble(double d) -
appendDecimal
-
appendDate
public void appendDate(int daysSinceEpoch) -
appendTimestamp
public void appendTimestamp(long microsSinceEpoch) -
appendTimestampNtz
public void appendTimestampNtz(long microsSinceEpoch) -
appendYearMonthInterval
public void appendYearMonthInterval(long value, byte startField, byte endField) -
appendDayTimeInterval
public void appendDayTimeInterval(long value, byte startField, byte endField) -
appendFloat
public void appendFloat(float f) -
appendBinary
public void appendBinary(byte[] binary) -
addKey
-
getWritePos
public int getWritePos() -
finishWritingObject
-
finishWritingArray
-
appendVariant
-