云原生多模数据库 Lindorm支持Bulkload(批量快速导入数据)功能,可以更快更稳定的导入数据。本文介绍批量快速导入数据操作。
功能特性
批量快速导入数据功能支持数据文件旁路加载,不需要经过数据API写入链路并且不需要占用实例计算资源,,批量快速导入数据与通过API导入数据相比有以下优势:
导入数据更快,速度可以提升10倍以上。
在线服务更稳定,不占用在线服务资源。
资源使用更灵活,在离线资源中分开使用更加灵活。
支持多种数据源导入,包括CSV、ORC、Parquet、MaxCompute等。
使用简单。您无需开发任何代码就可以实现数据的批量快速旁路加载。
成本低。LTS Bulkload基于Serverless Spark提供的云原生弹性能力,根据您的需求提供弹性计算资源按量收费,您无需经常配置计算资源,可以降低使用成本。
前提条件
已开通并登录LTS数据同步服务,具体操作请参见开通并登录LTS。
已开通Lindorm计算引擎,具体操作请参见服务开通。
已添加Spark数据源,具体操作请参见添加Spark数据源。
支持的数据源
源数据源 | 目标数据源 |
MaxCompute Table | Lindorm宽表引擎 |
HDFS CSV或者OSS CSV | |
HDFS Parquet或者OSS Parquet | |
HDFS ORC或者OSS ORC |
数据类型映射
Parquet文件类型映射
基础类型 | 逻辑类型 | Lindorm SQL数据类型 | HBase兼容类型 |
| BOOLEAN | BOOLEAN | |
| INT_8 | TINYINT | BYTE |
| INT_16 | SMALLINT | SHORT |
| INTEGER | INT | |
| BIGINT/TIMESTAMP | LONG | |
| DATE | DATE | |
| FLOAT | FLOAT | |
| DOUBLE | DOUBLE | |
| BINARY(N)/VARBINARY | VARBINARY | |
| UTF-8 | VARCHAR/CHAR(N)/JSON | STRING |
| DECIMAL | DECIMAL
| DECIMAL |
| TIMESTAMP | ||
| ENUM | VARCHAR / CHAR(N) | STRING |
| JSON | JSON/VARCHAR/CHAR(N) | STRING |
ORC文件数据类型映射
ORC数据类型 | Lindorm数据类型 | HBase兼容类型 |
BOOLEAN | BOOLEAN | BOOLEAN |
BYTE | TINYINT | BYTE |
SHORT | SMALLINT | SHORT |
INT | INTEGER | INT |
LONG | BIGINT/TIMESTAMP | LONG |
FLOAT | FLOAT | FLOAT |
DOUBLE | DOUBLE | DOUBLE |
DECIMAL | DECIMAL | DECIMAL |
CHAR/VARCHAR/STRING | VARCHAR/CHAR(N)/JSON | STRING |
BINARY | BINARY(N)/VARBINARY | VARBINARY |
DATE | DATE | |
TIMESTAMP | TIMESTAMP |
CSV文件数据类型映射
CSV文件为文本格式,配置任务时需指定类型。
CSV数据类型 | Lindorm数据类型 | HBase兼容类型 |
数字(无小数点) | TINYINT/SMALLINT/INTEGER/BIGINT | BYTE/SHORT/INT/LONG |
数字(有小数点) | FLOAT/DOUBLE/DECIMAL | FLOAT/DOUBLE/DECIMAL |
true/false 大小写不敏感 | BOOLEAN | BOOLEAN |
字符串 | VARCHAR / CHAR(N) | STRING |
Base64编码字符串 需要使用unbase64(base64StrCol)函数解码为二进制数据 | BINARY(N)/VARBINARY | VARBINARY |
Hex16进制字符串 需要使用unhex(hexStrCol)函数解码为二进制数据 | BINARY(N)/VARBINARY | VARBINARY |
日期格式字符串 需配置"dateFormat"选项,例如:yyyy-MM-dd | DATE | |
时间戳格式字符串 需配置"timestampFormat"选项,例如:yyyy-MM-dd HH:mm:ss | TIMESTAMP |
MaxCompute数据类型映射
MaxCompute数据类型 | Lindorm数据类型 | HBase兼容类型 |
TINYINT | TINYINT | BYTE |
SMALLINT | SMALLINT | SHORT |
INT | INTEGER | INT |
BIGINT | BIGINT | LONG |
FLOAT | FLOAT | FLOAT |
DOUBLE | DOUBLE | DOUBLE |
DECIMAL | DECIMAL | DECIMAL |
BOOLEAN | BOOLEAN | BOOLEAN |
BINARY | BINARY(N)/VARBINARY | VARBINARY |
CHAR(N) | VARCHAR/CHAR(N) | STRING |
VARCHAR(N) | VARCHAR/CHAR(N) | STRING |
STRING | VARCHAR/CHAR(N) | STRING |
DATE | DATE | |
DATETIME 转换之后只保留DATE部分,Time部分会丢失 | DATE | |
TIMESTAMP | TIMESTAMP |
提交方式
快速导入数据任务支持以下方式提交。