Package org.apache.flink.formats.json
Class AbstractJsonDeserializationSchema
- java.lang.Object
-
- org.apache.flink.formats.json.AbstractJsonDeserializationSchema
-
- All Implemented Interfaces:
Serializable
,DeserializationSchema<RowData>
,ResultTypeQueryable<RowData>
- Direct Known Subclasses:
JsonParserRowDataDeserializationSchema
,JsonRowDataDeserializationSchema
public abstract class AbstractJsonDeserializationSchema extends Object implements DeserializationSchema<RowData>
Deserialization schema from JSON to Flink Table/SQL internal data structureRowData
. This is the abstract base class which has different implementation.Failures during deserialization are forwarded as wrapped IOExceptions.
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.flink.api.common.serialization.DeserializationSchema
DeserializationSchema.InitializationContext
-
-
Field Summary
Fields Modifier and Type Field Description protected boolean
failOnMissingField
Flag indicating whether to fail if a field is missing.protected boolean
ignoreParseErrors
Flag indicating whether to ignore invalid fields/rows (default: throw an exception).protected org.apache.flink.shaded.jackson2.com.fasterxml.jackson.databind.ObjectMapper
objectMapper
Object mapper for parsing the JSON.
-
Constructor Summary
Constructors Constructor Description AbstractJsonDeserializationSchema(RowType rowType, TypeInformation<RowData> resultTypeInfo, boolean failOnMissingField, boolean ignoreParseErrors, TimestampFormat timestampFormat)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(Object o)
TypeInformation<RowData>
getProducedType()
Gets the data type (as aTypeInformation
) produced by this function or input format.int
hashCode()
boolean
isEndOfStream(RowData nextElement)
Method to decide whether the element signals the end of the stream.void
open(DeserializationSchema.InitializationContext context)
Initialization method for the schema.-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.flink.api.common.serialization.DeserializationSchema
deserialize, deserialize
-
-
-
-
Field Detail
-
failOnMissingField
protected final boolean failOnMissingField
Flag indicating whether to fail if a field is missing.
-
ignoreParseErrors
protected final boolean ignoreParseErrors
Flag indicating whether to ignore invalid fields/rows (default: throw an exception).
-
objectMapper
protected transient org.apache.flink.shaded.jackson2.com.fasterxml.jackson.databind.ObjectMapper objectMapper
Object mapper for parsing the JSON.
-
-
Constructor Detail
-
AbstractJsonDeserializationSchema
public AbstractJsonDeserializationSchema(RowType rowType, TypeInformation<RowData> resultTypeInfo, boolean failOnMissingField, boolean ignoreParseErrors, TimestampFormat timestampFormat)
-
-
Method Detail
-
open
public void open(DeserializationSchema.InitializationContext context) throws Exception
Description copied from interface:DeserializationSchema
Initialization method for the schema. It is called before the actual working methodsDeserializationSchema.deserialize(byte[])
and thus suitable for one time setup work.The provided
DeserializationSchema.InitializationContext
can be used to access additional features such as e.g. registering user metrics.- Specified by:
open
in interfaceDeserializationSchema<RowData>
- Parameters:
context
- Contextual information that can be used during initialization.- Throws:
Exception
-
isEndOfStream
public boolean isEndOfStream(RowData nextElement)
Description copied from interface:DeserializationSchema
Method to decide whether the element signals the end of the stream. If true is returned the element won't be emitted.- Specified by:
isEndOfStream
in interfaceDeserializationSchema<RowData>
- Parameters:
nextElement
- The element to test for the end-of-stream signal.- Returns:
- True, if the element signals end of stream, false otherwise.
-
getProducedType
public TypeInformation<RowData> getProducedType()
Description copied from interface:ResultTypeQueryable
Gets the data type (as aTypeInformation
) produced by this function or input format.- Specified by:
getProducedType
in interfaceResultTypeQueryable<RowData>
- Returns:
- The data type produced by this function or input format.
-
-