跳到主要内容
版本:Latest-3.3

功能边界:数据导入导出

本文介绍了 StarRocks 导入导出的能力边界以及所涉及功能的支持版本。

文件格式

导入文件格式

数据源文件格式
CSVJSON [3]ParquetORCAvroProtoBufThrift
Stream Load本地文件系统、应用及 ConnectorYesYes待支持待支持待支持
INSERT from FILESHDFS, S3, OSS, Azure, GCS, NFS(NAS) [5]Yes (v3.3+)待支持Yes (v3.1+)Yes (v3.1+)待支持
Broker LoadYesYes (v3.2.3+)YesYes待支持
Routine LoadKafkaYesYes待支持待支持Yes (v3.0+) [1]待支持待支持
Spark LoadYes待支持YesYes待支持
ConnectorsFlink, SparkYesYes待支持待支持待支持
Kafka Connector [2]KafkaYes (v3.0+)待支持待支持Yes (v3.0+)待支持
PIPE [4]同 INSERT from FILES
备注

[1], [2]:需要依赖 Schema Registry。

[3]:JSON 支持多种 CDC 格式。有关 StarRocks 支持的 JSON CDC 格式的详细信息,参见 JSON CDC 格式

[4]:PIPE 当前只支持 INSERT from FILES。

[5]:需要将同一 NAS 设备作为 NFS 挂载到每个 BE 或 CN 节点的相同目录下,才能通过 file:// 协议访问 NFS 中的文件。

JSON CDC 格式

Stream LoadRoutine LoadBroker LoadINSERT from FILESKafka Connector
Debezium将在 v3.4 版本中支持将在 v3.4 版本中支持待支持待支持Yes (v3.0+) [1]
Canal待支持
Maxwell
备注

[1]:在将 Debezium CDC 格式数据导入到 StarRocks 主键表时,必须配置 transforms 参数。

导出文件格式

导出目标文件格式
表格式远端存储CSVJSONParquetORC
INSERT INTO FILESN/AHDFS, S3, OSS, Azure, GCS, NFS(NAS) [3]Yes (v3.3+)待支持Yes (v3.2+)Yes (v3.3+)
INSERT INTO CatalogHiveHDFS, S3, OSS, Azure, GCSYes (v3.3+)待支持Yes (v3.2+)Yes (v3.3+)
IcebergHDFS, S3, OSS, Azure, GCS待支持待支持Yes (v3.2+)待支持
Hudi/Delta待支持
EXPORTN/AHDFS, S3, OSS, Azure, GCSYes [1]待支持待支持待支持
PIPE待支持 [2]
备注

[1]:支持配置 Broker 进程。

[2]:目前,不支持使用 PIPE 导出数据。

[3]:需要将同一 NAS 设备作为 NFS 挂载到每个 BE 或 CN 节点的相同目录下,才能通过 file:// 协议访问 NFS 中的文件。

文件格式相关参数

导入文件格式相关参数

文件格式参数导入方式
Stream LoadINSERT from FILESBroker LoadRoutine LoadSpark Load
CSVcolumn_separatorYesYes (v3.3+)Yes [1]
row_delimiterYesYes [2] (v3.1+)Yes [3] (v2.2+)待支持
encloseYes (v3.0+)Yes (v3.0+)Yes (v3.0+)待支持
escape
skip_header待支持
trim_spaceYes (v3.0+)
JSONjsonpathsYes待支持Yes (v3.2.3+)Yes待支持
strip_outer_array
json_root
ignore_json_size待支持
备注

[1]:对应的参数是 COLUMNS TERMINATED BY。

[2]:对应的参数是 ROWS TERMINATED BY。

[3]:对应的参数是 ROWS TERMINATED BY。

导出文件格式相关参数

文件格式参数导出方式
INSERT INTO FILESEXPORT
CSVcolumn_separatorYes (v3.3+)Yes
line_delimiter [1]
备注

[1]:数据导入中对应的参数是 row_delimiter.

压缩格式

导入压缩格式

文件格式压缩格式导入方式
Stream LoadBroker LoadINSERT from FILESRoutine LoadSpark Load
CSV
  • defalte
  • bzip2
  • gzip
  • lz4_frame
  • zstd
Yes [1]Yes [2]待支持待支持待支持
JSONYes (v3.2.7+) [3]待支持N/A待支持N/A
Parquet
  • gzip
  • lz4
  • snappy
  • zlib
  • zstd
N/AYes [4]待支持Yes [4]
ORC
备注

[1]:目前,仅在使用 Stream Load 导入 CSV 文件时,支持通过 format=gzip 的方式指定压缩格式。除 gzip 外,还支持 deflate 和 bzip2 格式。

[2]:Broker Load 不支持通过 format 参数指定 CSV 文件的压缩格式。Broker Load 通过文件的后缀识别压缩格式。gzip 压缩文件的后缀是 .gz,zstd 压缩文件的后缀是 .zst。此外,Broker Load 也不支持其他格式相关参数,如 trim_spaceenclose

[3]:支持通过配置 compression = gzip 的方式指定压缩格式。

[4]:由 Arrow Library 提供支持。无需配置压缩参数。

导出压缩格式

文件格式压缩格式导出方式
INSERT INTO FILESINSERT INTO CatalogEXPORT
HiveIcebergHudi/Delta
CSV
  • defalte
  • bzip2
  • gzip
  • lz4_frame
  • zstd
待支持待支持待支持待支持待支持
JSONN/AN/AN/AN/AN/AN/A
Parquet
  • gzip
  • lz4
  • snappy
  • zstd
Yes (v3.2+)Yes (v3.2+)Yes (v3.2+)待支持N/A
ORC

认证

导入认证

认证功能导入方式
Stream LoadINSERT from FILESBroker LoadRoutine LoadExternal Catalog
单 KerberosN/AYes (v3.1+)Yes [1] (versions earlier than v2.5)Yes [2] (v3.1.4+)Yes
Kerberos 自动续签N/A待支持Yes (v3.1.10+/v3.2.1+)
单 KDC 多 KerberosN/A
用户名密码认证 (Access Key pair, IAM Role)N/AYes (HDFS 和兼容 S3 的对象存储)Yes [3]Yes
备注

[1]:对于HDFS,StarRocks 支持简单认证和 Kerberos 认证。

[2]:当安全协议设置为 sasl_plaintextsasl_ssl 时,支持 SASL 和 GSSAPI(Kerberos)认证。

[3]:当安全协议设置为 sasl_plaintextsasl_ssl 时,支持 SASL 和 PLAIN 认证。

导出认证

INSERT INTO FILESEXPORT
单 Kerberos待支持待支持

导入相关其他参数或功能

参数和功能导入方式
Stream LoadINSERT from FILESINSERT from SELECT/VALUESBroker LoadPIPERoutine LoadSpark Load
partial_updateYes (v3.0+)Yes [1] (v3.3+)Yes (v3.0+)N/AYes (v3.0+)待支持
partial_update_modeYes (v3.1+)待支持Yes (v3.1+)N/A待支持待支持
COLUMNS FROM PATHN/AYes (v3.2+)N/AYesN/AN/AYes
timezone 或 Session 变量 time_zone [2]Yes [3]Yes [4]Yes [4]Yes [4]待支持Yes [4]待支持
时间精度 - MicrosecondYesYesYesYes (v3.1.11+/v3.2.6+)待支持YesYes
备注

[1]:从 v3.3 版本开始,StarRocks 支持在 INSERT INTO 操作中通过指定 Column List 进行部分更新。

[2]:通过参数或 Session 变量设置时区会影响 strftime()alignment_timestamp()from_unixtime() 等函数返回的结果。

[3]:仅支持参数 timezone

[4]:仅支持 Session 变量 time_zone

导出相关其他参数或功能

参数和功能INSERT INTO FILESEXPORT
target_max_file_sizeYes (v3.2+)待支持
single
Partitioned_by
Session variable time_zone待支持
Time accuracy - Microsecond待支持待支持