通用批量导入服务

云原生多模数据库 Lindorm支持Bulkload(批量快速导入数据)功能,可以更快更稳定的导入数据。本文介绍批量快速导入数据操作。

功能特性

批量快速导入数据功能支持数据文件旁路加载,不需要经过数据API写入链路并且不需要占用实例计算资源,,批量快速导入数据与通过API导入数据相比有以下优势:

  • 导入数据更快,速度可以提升10倍以上。

  • 在线服务更稳定,不占用在线服务资源。

  • 资源使用更灵活,在离线资源中分开使用更加灵活。

  • 支持多种数据源导入,包括CSV、ORC、Parquet、MaxCompute等。

  • 使用简单。您无需开发任何代码就可以实现数据的批量快速旁路加载。

  • 成本低。LTS Bulkload基于Serverless Spark提供的云原生弹性能力,根据您的需求提供弹性计算资源按量收费,您无需经常配置计算资源,可以降低使用成本。

前提条件

支持的数据源

源数据源

目标数据源

MaxCompute Table

Lindorm宽表引擎

HDFS CSV或者OSS CSV

HDFS Parquet或者OSS Parquet

HDFS ORC或者OSS ORC

数据类型映射

Parquet文件类型映射

基础类型

逻辑类型

Lindorm SQL数据类型

HBase兼容类型

BOOLEAN

BOOLEAN

BOOLEAN

INT32

INT_8

TINYINT

BYTE

INT32

INT_16

SMALLINT

SHORT

INT32

INTEGER

INT

INT64

BIGINT/TIMESTAMP

LONG

INT32

DATE

DATE

FLOAT

FLOAT

FLOAT

DOUBLE

DOUBLE

DOUBLE

BINARY

BINARY(N)/VARBINARY

VARBINARY

BINARY

UTF-8

VARCHAR/CHAR(N)/JSON

STRING

FIXED_LEN_BYTE_ARRAY

DECIMAL

DECIMAL

  • precision:最大一共有多少位,值域是[1,38]。

  • scale:小数点后最大有多少位,值域是[0,precision]。

DECIMAL

INT96

TIMESTAMP

BINARY

ENUM

VARCHAR / CHAR(N)

STRING

BINARY

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

提交方式

快速导入数据任务支持以下方式提交。