从本地文件系统导入
StarRocks 提供两种导入方式帮助您从本地文件系统导入数据:
- 使用 Stream Load 进行同步导入。
- 使用 Broker Load 进行异步导入。
两种导入方式各有优势:
- Stream Load 支持 CSV 和 JSON 两种数据文件格式,适用于数据文件数量较少且单个文件的大小不超过 10 GB 的场景。
- Broker Load 支持 Parquet、ORC、CSV、及 JSON 四种文件格式(JSON 文件格式自 3.2.3 版本起支持),适用于数据文件数量较多且单个文件的大小超过 10 GB 的场景、以及文件存储在 NAS 的场景。
对于 CSV 格式的数据,需要注意以下两点:
- StarRocks 支持设置长度最大不超过 50 个字节的 UTF-8 编码字符串作为列分隔符,包括常见的逗号 (,)、Tab 和 Pipe (|)。
- 空值 (null) 用
\N
表示。比如,数据文件一共有三列,其中某行数据的第一列、第三列数据分别为a
和b
,第二列没有数据,则第二列需要用\N
来表示空值,写作a,\N,b
,而不是a,,b
。a,,b
表示第二列是一个空字符串。
Stream Load 和 Broker Load 均支持在导入过程中做数据转换、以及通过 UPSERT 和 DELETE 操作实现数据变更。请参见导入过程中实现数据转换和通过导入实现数据变更。