首批通过分布式安全可靠测评,为关键业务系统打造
数据类型映射
更新时间:2026-06-07 12:48:54
数据类型映射确保在数据从 OceanBase 数据库导出为 Parquet、ORC 和 MaxCompute(ODPS) 格式时,能够准确地将原始数据与目标格式的数据类型进行对应。OceanBase 数据库通过明确的映射表,将 MySQL 和 Oracle 的各类数据类型与 Parquet、ORC 和 MaxCompute(ODPS) 支持的数据类型进行关联,从而确保数据在导出过程中不丢失、不过载,并保持其语义不变。
说明
其中 CSV 文件导出后为字符串类型。
导出为 Parquet 格式
| Parquet 物理类型 | Parquet 逻辑类型 | Hive 数据类型 | Oracle 租户下数据类型 | 备注 |
|---|---|---|---|---|
| FLOAT | NONE | FLOAT | BINARY_FLOAT | |
| DOUBLE | NONE | DOUBLE | BINARY_DOUBLE | |
| FIXED_LEN_BYTE_ARRAY | DECIMAL | DECIMAL | NUMBER | 必须指定 precision 和 scale |
| BYTE_ARRAY | STRING | CHAR | CHAR | Parquet 的 string 类型都是 utf8 编码 |
| BYTE_ARRAY | STRING | VARCHAR | VARCHAR2 | |
| BYTE_ARRAY | STRING | STRING | RAW, BLOB, CLOB | |
| INT64 | TIMESTAMP(is_adjusted_to_utc=false, parquet::LogicalType::TimeUnit::MICROS) | TIMESTAMP | DATE | |
| INT96 | NONE | TIMESTAMP | TIMESTAMP, TIMESTAMP WITH LOCAL TIME ZONE | |
导出为 ORC 格式
| ORC类型 | Hive数据类型 | Oracle租户下数据类型 |
|---|---|---|
| FLOAT | FLOAT | BINARY_FLOAT |
| DOUBLE | DOUBLE | BINARY_DOUBLE |
| DECIMAL | DECIMAL | NUMBER |
| CHAR | CHAR | CHAR |
| VARCHAR | VARCHAR | VARCHAR2 |
| STRING | STRING | CLOB |
| BINARY | BINARY | BLOB/RAW |
| TIMESTAMP | TIMESTAMP | DATE/TIMESTAMP/TIMESTAMP WITH LOCAL TIME ZONE |
导出为 MaxCompute(ODPS) 格式
| MaxCompute(ODPS) 数据类型 | Oracle 租户下数据类型 |
|---|---|
| BOOLEAN | NUMBER(1,0) |
| TINYINT | NUMBER(3,0) |
| SMALLINT | NUMBER(5,0) |
| INT | NUMBER(10,0) |
| BIGINT | NUMBER(20,0) |
| FLOAT | BINARY_FLOAT |
| DOUBLE | BINARY_DOUBLE |
| DECIMAL | NUMBER(P,S) (强制用户显式指定 P 和 S) |
| CHAR (最大长度 255 字节,不足补空格) | CHAR |
| VARCHAR(最大长度65535) | VARCHAR |
| STRING(长度限制 8MB 字节) | VARCHAR/CLOB |
| BINARY (长度限制 8MB) | RAW BLOB: 用于存储数据库中的大型二进制对象,可以将 BLOB 对象视为没有字符集语义的位流。字节的长度上限为 536870910 字节 |
| TIMESTAMP (存储 UTC 时间 纳秒级小数点后 9 位,但展示时按照当前时区转) | TIMESTAMP(9) WITH LOCAL TIME ZONE |
| TIMESTAMP_NTZ(存储 UTC 时间纳秒级小数点后 9 位,完全和时区无关) | TIMESTAMP |
| DATE(格式 yyyy-mm-dd,取值范围 0001-01-01~9999-12-31) | DATE |
| DATETIME(精确到毫秒,小数点后 3 位,取值范围:0001-01-01 00:00:00.000~9999-12-31 23:59:59.999) | TIMESTAMP |
| ARRAY | 暂不支持 |
| MAP | 暂不支持 |
| STRUCT | 暂不支持 |
| JSON | 暂不支持 |