Data Types
This page describes the data types supported in PyFlink Table API.
Data Type
A data type describes the logical type of a value in the table ecosystem. It can be used to declare input and/or output types of Python user-defined functions. Users of the Python Table API work with instances of pyflink.table.types.DataType
within the Python Table API or when defining user-defined functions.
A DataType
instance declares the logical type which does not imply a concrete physical representation for transmission or storage. All pre-defined data types are available in pyflink.table.types
and can be instantiated with the utility methods defined in pyflink.table.types.DataTypes
.
A list of all pre-defined data types can be found below.
Data Type and Python Type Mapping
A data type can be used to declare input and/or output types of Python user-defined functions. The inputs will be converted to Python objects corresponding to the data type and the type of the user-defined functions result must also match the defined data type.
For vectorized Python UDF, the input types and output type are pandas.Series
. The element type of the pandas.Series
corresponds to the specified data type.
Data Type | Python Type | Pandas Type |
---|---|---|
BOOLEAN | bool | numpy.bool_ |
TINYINT | int | numpy.int8 |
SMALLINT | int | numpy.int16 |
INT | int | numpy.int32 |
BIGINT | int | numpy.int64 |
FLOAT | float | numpy.float32 |
DOUBLE | float | numpy.float64 |
VARCHAR | str | str |
VARBINARY | bytes | bytes |
DECIMAL | decimal.Decimal | decimal.Decimal |
DATE | datetime.date | datetime.date |
TIME | datetime.time | datetime.time |
TimestampType | datetime.datetime | datetime.datetime |
LocalZonedTimestampType | datetime.datetime | datetime.datetime |
INTERVAL YEAR TO MONTH | int | Not Supported Yet |
INTERVAL DAY TO SECOND | datetime.timedelta | Not Supported Yet |
ARRAY | list | numpy.ndarray |
MULTISET | list | Not Supported Yet |
MAP | dict | Not Supported Yet |
ROW | Row | dict |