云原生多模数据库 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 |
提交方式
快速导入数据任务支持以下方式提交。