TINYINT |
TINYINT |
|
SMALLINT
TINYINT UNSIGNED |
SMALLINT |
|
INT
MEDIUMINT
SMALLINT UNSIGNED |
INT |
|
BIGINT
INT UNSIGNED |
BIGINT |
|
BIGINT UNSIGNED |
DECIMAL(20, 0) |
|
FLOAT
|
FLOAT |
|
REAL
DOUBLE
|
DOUBLE |
|
NUMERIC(p, s)
DECIMAL(p, s)
where p <= 38
|
DECIMAL(p, s) |
|
NUMERIC(p, s)
DECIMAL(p, s)
where 38 < p <= 65
|
STRING |
The precision for DECIMAL data type is up to 65 in TiDB, but the precision for DECIMAL is limited to 38 in Flink.
So if you define a decimal column whose precision is greater than 38, you should map it to STRING to avoid precision loss. |
BOOLEAN
TINYINT(1)
BIT(1)
|
BOOLEAN |
|
DATE |
DATE |
|
TIME [(p)] |
TIME [(p)] |
|
TIMESTAMP [(p)] |
TIMESTAMP_LTZ [(p)] |
|
DATETIME [(p)] |
TIMESTAMP [(p)]
|
|
CHAR(n)
|
CHAR(n) |
|
VARCHAR(n)
|
VARCHAR(n) |
|
BIT(n)
|
BINARY(⌈n/8⌉) |
|
BINARY(n)
|
BINARY(n) |
|
TINYTEXT
TEXT
MEDIUMTEXT
LONGTEXT
|
STRING |
|
TINYBLOB
BLOB
MEDIUMBLOB
LONGBLOB
|
BYTES |
Currently, for BLOB data type in TiDB, only the blob whose length isn't greater than 2,147,483,647(2 ** 31 - 1) is supported. |
YEAR
|
INT |
|
ENUM
|
STRING |
|
JSON
|
STRING |
The JSON data type will be converted into STRING with JSON format in Flink. |
SET
|
ARRAY<STRING> |
As the SET data type in TiDB is a string object that can have zero or more values,
it should always be mapped to an array of string
|