数据类型

本节描述PyFlink Table API中所支持的数据类型.

Data Type

在Table生态系统中,数据类型用于描述值的逻辑类型。它可以用来声明Python用户自定义函数的输入/输出类型。 Python Table API的用户可以在Python Table API中,或者定义Python用户自定义函数时,使用pyflink.table.types.DataType实例。

DataType实例声明了数据的逻辑类型,这并不能用于推断数据在进行传输或存储时的具体物理表示形式。 所有预定义的数据类型都位于pyflink.table.types中,并且可以通过类pyflink.table.types.DataTypes中所定义的方法创建。

可以在下面找到所有预定义数据类型的列表。

数据类型(Data Type)和Python类型的映射关系

数据类型可用于声明Python用户自定义函数的输入/输出类型。输入数据将被转换为与所定义的数据类型相对应的Python对象,用户自定义函数的执行结果的类型也必须与所定义的数据类型匹配。

对于向量化Python UDF,输入类型和输出类型都为pandas.Seriespandas.Series中的元素类型对应于指定的数据类型。

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
INTERVAL DAY TO SECOND datetime.timedelta Not Supported
ARRAY list numpy.ndarray
MULTISET list Not Supported
MAP dict Not Supported
ROW Row dict