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) voidvoidappendDouble(double d) voidappendFloat(float f) voidappendLong(long l) voidvoidappendString(String str) voidappendTimestamp(long microsSinceEpoch) voidappendTimestampNtz(long microsSinceEpoch) voidvoidfinishWritingArray(int start, ArrayList<Integer> offsets) voidfinishWritingObject(int start, ArrayList<VariantBuilder.FieldEntry> fields) intstatic VariantparseJson(com.fasterxml.jackson.core.JsonParser parser) SimilarparseJson(String), but takes a JSON parser instead of string input.static VariantParse a JSON string as a Variant value.result()
-
Constructor Details
-
VariantBuilder
public VariantBuilder()
-
-
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
SimilarparseJson(String), 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) -
appendFloat
public void appendFloat(float f) -
appendBinary
public void appendBinary(byte[] binary) -
addKey
-
getWritePos
public int getWritePos() -
finishWritingObject
-
finishWritingArray
-
appendVariant
-