@ParametersAreNonnullByDefault public class DataTypeSchemaConversions extends Object implements SchemaConversions<org.apache.flink.table.types.DataType>
SchemaConversions
that can convert to Flink Table API DataType.
Used by JsonSchemaFlinkConverter.
If you modify this class, please also augment TypeInformationSchemaConversions
accordingly.
To handle proper conversion between Table API and DataStream,
Flink needs the types consistently converted to the same underlying representations.SchemaConversions.RowField<T>
Constructor and Description |
---|
DataTypeSchemaConversions() |
Modifier and Type | Method and Description |
---|---|
protected org.apache.flink.table.api.DataTypes.Field |
buildFieldDataType(String name,
org.apache.flink.table.types.DataType dataType,
String description)
Helper for constructing a DataTypes.Field with name,
DataType, and optional description.
|
org.apache.flink.table.types.DataType |
typeArray(org.apache.flink.table.types.DataType elementType,
boolean elementsAreNullable)
elementsAreNullable is ignored; all Flink Table API elements are nullable. |
org.apache.flink.table.types.DataType |
typeBoolean() |
org.apache.flink.table.types.DataType |
typeDecimal() |
org.apache.flink.table.types.DataType |
typeInteger()
Note that the default conversion of LogicalType BigIntType is Long,
which is NOT the same as Flink Types.BIG_INT (in the DataStream API).
|
org.apache.flink.table.types.DataType |
typeMap(org.apache.flink.table.types.DataType keyType,
org.apache.flink.table.types.DataType valueType,
boolean valuesAreNullable)
valuesAreNullable is ignored; all Flink Table API elements are nullable. |
org.apache.flink.table.types.DataType |
typeNull() |
org.apache.flink.table.types.DataType |
typeRow(List<SchemaConversions.RowField<org.apache.flink.table.types.DataType>> rowFields)
If a RowFields description is not null,
it will be used as the
DataTypes.Field 's description. |
org.apache.flink.table.types.DataType |
typeString() |
org.apache.flink.table.types.DataType |
typeTimestamp() |
public org.apache.flink.table.types.DataType typeNull()
typeNull
in interface SchemaConversions<org.apache.flink.table.types.DataType>
DataTypes.NULL()
public org.apache.flink.table.types.DataType typeBoolean()
typeBoolean
in interface SchemaConversions<org.apache.flink.table.types.DataType>
DataTypes.BOOLEAN()
public org.apache.flink.table.types.DataType typeString()
typeString
in interface SchemaConversions<org.apache.flink.table.types.DataType>
DataTypes.STRING()
public org.apache.flink.table.types.DataType typeDecimal()
typeDecimal
in interface SchemaConversions<org.apache.flink.table.types.DataType>
DataTypes.DOUBLE()
public org.apache.flink.table.types.DataType typeInteger()
typeInteger
in interface SchemaConversions<org.apache.flink.table.types.DataType>
DataTypes.BIGINT()
public org.apache.flink.table.types.DataType typeTimestamp()
typeTimestamp
in interface SchemaConversions<org.apache.flink.table.types.DataType>
DataTypes.TIMESTAMP_LTZ(int)
with precision 3public org.apache.flink.table.types.DataType typeArray(org.apache.flink.table.types.DataType elementType, boolean elementsAreNullable)
elementsAreNullable
is ignored; all Flink Table API elements are nullable.typeArray
in interface SchemaConversions<org.apache.flink.table.types.DataType>
DataTypes.ARRAY(org.apache.flink.table.types.DataType)
public org.apache.flink.table.types.DataType typeMap(org.apache.flink.table.types.DataType keyType, org.apache.flink.table.types.DataType valueType, boolean valuesAreNullable)
valuesAreNullable
is ignored; all Flink Table API elements are nullable.typeMap
in interface SchemaConversions<org.apache.flink.table.types.DataType>
DataTypes.MAP(org.apache.flink.table.types.DataType, org.apache.flink.table.types.DataType)
public org.apache.flink.table.types.DataType typeRow(List<SchemaConversions.RowField<org.apache.flink.table.types.DataType>> rowFields)
DataTypes.Field
's description.
RowField nullalble-ness is not relevant;
all Flink Table API fields are nullable.typeRow
in interface SchemaConversions<org.apache.flink.table.types.DataType>
DataTypes.ROW(org.apache.flink.table.api.DataTypes.Field...)
Copyright © 2025. All rights reserved.