数据类型

本节描述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 TypePython TypePandas Type
BOOLEANboolnumpy.bool_
TINYINTintnumpy.int8
SMALLINTintnumpy.int16
INTintnumpy.int32
BIGINTintnumpy.int64
FLOATfloatnumpy.float32
DOUBLEfloatnumpy.float64
VARCHARstrstr
VARBINARYbytesbytes
DECIMALdecimal.Decimaldecimal.Decimal
DATEdatetime.datedatetime.date
TIMEdatetime.timedatetime.time
TimestampTypedatetime.datetimedatetime.datetime
LocalZonedTimestampTypedatetime.datetimedatetime.datetime
INTERVAL YEAR TO MONTHintNot Supported
INTERVAL DAY TO SECONDdatetime.timedeltaNot Supported
ARRAYlistnumpy.ndarray
MULTISETlistNot Supported
MAPdictNot Supported
ROWRowdict