MySQL HeatWave User Guide  /  ...  /  Parquet Data Type Conversions

4.5.1 Parquet Data Type Conversions

See: Parquet Types.

Table 4.1 Parquet Data Type Conversions

MySQL Data Type Parquet Logical Type Comments
BOOL STRING Valid values: TRUE, FALSE, T, F, true, false, 0, 1
BOOL INT All signed and unsigned integers with any bit width, but the value must be 0 or 1
BOOL None Physical Type FLOAT or DOUBLE
CHAR, VARCHAR, TEXT DECIMAL The maximum precision is 38 and Lakehouse supports the Physical Type FIXED_LEN_BYTE_ARRAY
CHAR, VARCHAR, TEXT STRING
CHAR, VARCHAR, TEXT INT All signed and unsigned integers
CHAR, VARCHAR, TEXT None Physical Type FLOAT or DOUBLE
DATE STRING
DATE DATE
DATE TIMESTAMP isAdjustedToUTC = false, timeUnit = x: Lakehouse only loads the date portion
DATE None Physical Type INT96: Lakehouse only loads the date portion
DATETIME STRING DATETIME accepts the range from 0000-00-00 to 9999-12-12
DATETIME DATE DATETIME accepts the range from 0000-00-00 to 9999-12-12
DATETIME TIME isAdjustedToUTC = false, timeUnit = x: DATETIME accepts the range from 0000-00-00 to 9999-12-12
DATETIME TIMESTAMP isAdjustedToUTC = false, timeUnit = x: DATETIME accepts the range from 0000-00-00 to 9999-12-12
DATETIME None Physical Type INT96: DATETIME accepts the range from 0000-00-00 to 9999-12-12
DECIMAL DECIMAL The maximum precision is 38 and Lakehouse supports the Physical Type FIXED_LEN_BYTE_ARRAY
DECIMAL STRING
DECIMAL INT All signed and unsigned integers
DECIMAL None Physical Type FLOAT or DOUBLE
DOUBLE, FLOAT DECIMAL The maximum precision is 38 and Lakehouse supports the Physical Type FIXED_LEN_BYTE_ARRAY
DOUBLE, FLOAT STRING
DOUBLE, FLOAT INT All signed and unsigned integers
DOUBLE, FLOAT None Physical Type FLOAT or DOUBLE
ENUM STRING
ENUM ENUM Physical Type BYTE_ARRAY or FIXED_LEN_BYTE_ARRAY
ENUM INT All signed and unsigned integers
ENUM None Physical Type FLOAT or DOUBLE
JSON STRING
JSON JSON
JSON None Physical Type BYTE_ARRAY, Binary encoded. The non-UTF-8 encoding should be JSON binary, see: The JSON Data Type.
TIME STRING
TIME TIME isAdjustedToUTC = false, timeUnit = x
TIMESTAMP STRING TIMESTAMP accepts the range from 1970-01-01 to 2038-01-19. Lakehouse might not load out of range values correctly. Use DATETIME instead.
TIMESTAMP DATE TIMESTAMP accepts the range from 1970-01-01 to 2038-01-19. Lakehouse might not load out of range values correctly. Use DATETIME instead.
TIMESTAMP TIME isAdjustedToUTC = false, timeUnit = x: TIMESTAMP accepts the range from 1970-01-01 to 2038-01-19. Lakehouse might not load out of range values correctly. Use DATETIME instead.
TIMESTAMP TIMESTAMP isAdjustedToUTC = false, timeUnit = x: TIMESTAMP accepts the range from 1970-01-01 to 2038-01-19. Lakehouse might not load out of range values correctly. Use DATETIME instead.
TIMESTAMP None Physical Type INT96: TIMESTAMP accepts the range from 1970-01-01 to 2038-01-19. Lakehouse might not load out of range values correctly. Use DATETIME instead.
All signed and unsigned TINYINT, SMALLINT, MEDIUMINT, INTEGER, INT, BIGINT DECIMAL The maximum precision is 38 and Lakehouse supports the Physical Type FIXED_LEN_BYTE_ARRAY
All signed and unsigned TINYINT, SMALLINT, MEDIUMINT, INTEGER, INT, BIGINT STRING
All signed and unsigned TINYINT, SMALLINT, MEDIUMINT, INTEGER, INT, BIGINT INT All signed and unsigned integers
All signed and unsigned TINYINT, SMALLINT, MEDIUMINT, INTEGER, INT, BIGINT None Physical Type FLOAT or DOUBLE
YEAR STRING The value should be in the range 0 to 99 or the range 1901 to 2155
YEAR INT The value should be in the range 0 to 99 or the range 1901 to 2155
YEAR None Physical Type FLOAT or DOUBLE: The value should be in the range 0 to 99 or the range 1901 to 2155
YEAR None Physical Type INT96: The value should be in the range 1901 to 2155, Lakehouse only loads the year portion
YEAR DATE The value should be in the range 1901 to 2155, Lakehouse only loads the year portion
YEAR TIMESTAMP isAdjustedToUTC = false: The value should be in the range 1901 to 2155, Lakehouse only loads the year portion