跳到主要内容
版本: 最新版本-3.5

功能支持:数据导入和导出

本文档概述了 StarRocks 支持的各种数据加载和卸载方法的功能。

文件格式

导入文件格式

数据源文件格式
CSVJSON [3]ParquetORCAvroProtoBufThrift
Stream Load本地文件系统,应用程序,连接器待支持待支持待支持
INSERT from FILESHDFS, S3, OSS, Azure, GCS, NFS(NAS) [5]是 (v3.3+)待支持是 (v3.1+)是 (v3.1+)是 (v3.4.4+)待支持
Broker Load是 (v3.2.3+)待支持
Routine LoadKafka待支持待支持是 (v3.0+) [1]待支持待支持
Spark Load待支持待支持
连接器Flink, Spark待支持待支持待支持
Kafka Connector [2]Kafka是 (v3.0+)待支持待支持是 (v3.0+)待支持
PIPE [4]与 INSERT from FILES 一致
注意

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

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

[4]: 目前,只有 INSERT from FILES 支持通过 PIPE 进行加载。

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

JSON CDC 格式

Stream LoadRoutine LoadBroker LoadINSERT from FILESKafka Connector [1]
Debezium待支持待支持待支持待支持是 (v3.0+)
Canal待支持
Maxwell
注意

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

导出文件格式

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

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

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

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

文件格式参数导入方式
Stream LoadINSERT from FILESBroker LoadRoutine LoadSpark Load
CSVcolumn_separator是 (v3.3+)是 [1]
row_delimiter是 [2] (v3.1+)是 [3] (v2.2+)待支持
enclose是 (v3.0+)是 (v3.0+)是 (v3.0+)待支持
escape
skip_header待支持
trim_space是 (v3.0+)
JSONjsonpaths待支持是 (v3.2.3+)待支持
strip_outer_array
json_root
ignore_json_size待支持
注意

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

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

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

文件格式参数导出方式
INSERT INTO FILESEXPORT
CSVcolumn_separator是 (v3.3+)
line_delimiter [1]
注意

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

压缩格式

导入压缩格式

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

[1]: 目前,只有在使用 Stream Load 加载 CSV 文件时,才能使用 format=gzip 指定压缩格式,表示 gzip 压缩的 CSV 文件。也支持 deflatebzip2 格式。

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

[3]: 支持使用 compression = gzip 指定压缩格式。

[4]: Arrow Library 支持。您无需配置 compression 参数。

导出压缩格式

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

凭据

导入 - 身份验证

身份验证导入方式
Stream LoadINSERT from FILESBroker LoadRoutine Load外部 Catalog
单 KerberosN/A是 (v3.1+)是 [1] (v2.5 之前的版本)是 [2] (v3.1.4+)
Kerberos Ticket Granting Ticket (TGT)N/A待支持是 (v3.1.10+/v3.2.1+)
单 KDC 多 KerberosN/A
基本访问身份验证 (Access Key pair, IAM Role)N/A是 (HDFS 和 S3 兼容的对象存储)是 [3]
注意

[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_update是 (v3.0+)是 [1] (v3.3+)是 (v3.0+)N/A是 (v3.0+)待支持
partial_update_mode是 (v3.1+)待支持是 (v3.1+)N/A待支持待支持
COLUMNS FROM PATHN/A是 (v3.2+)N/AN/AN/A
timezone 或会话变量 time_zone [2]是 [3]是 [4]是 [4]是 [4]待支持是 [4]待支持
时间精度 - 微秒是 (v3.1.11+/v3.2.6+)待支持
注意

[1]: 从 v3.3 开始,StarRocks 支持通过指定列列表在行模式下对 INSERT INTO 进行部分更新。

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

[3]: 仅支持参数 timezone

[4]: 仅支持会话变量 time_zone

导出 - 其他参数和特性

参数和特性INSERT INTO FILESEXPORT
target_max_file_size是 (v3.2+)待支持
single
Partitioned_by
会话变量 time_zone待支持
时间精度 - 微秒待支持待支持