文件管理器
使用文件管理器,您可以创建、查看和删除文件,例如用于访问外部数据源的文件:公钥文件、私钥文件和证书文件。您可以使用命令引用或访问已创建的文件。
基本概念
文件:指在 StarRocks 中创建和保存的文件。在 StarRocks 中创建并存储文件后,StarRocks 会为该文件分配一个唯一的 ID。您可以根据数据库名称、Catalog 和文件名查找文件。在数据库中,只有管理员用户可以创建和删除文件,所有有权限访问数据库的用户都可以使用属于该数据库的文件。
准备工作
- 为每个 FE 配置以下参数。
small_file_dir
:上传文件的存储路径。默认路径为small_files/
,位于 FE 的运行时目录中。您需要在 fe.conf 文件中指定此参数,然后重启 FE 才能使更改生效。max_small_file_size_bytes
:单个文件的最大大小。此参数的默认值为 1 MB。如果文件大小超过此参数的值,则无法创建该文件。您可以使用 ADMIN SET CONFIG 语句指定此参数。max_small_file_number
:集群中可以创建的最大文件数。此参数的默认值为 100。如果您创建的文件数量达到此参数的值,则无法继续创建文件。您可以使用 ADMIN SET CONFIG 语句指定此参数。
注意:增加这两个参数的值会导致 FE 的内存使用量增加。因此,建议您不要增加这两个参数的值,除非必要。
- 为每个 BE 配置以下参数。
small_file_dir
:下载文件的存储路径。默认路径为 lib/small_files/
,位于 BE 的运行时目录中。您可以在 be.conf 文件中指定此参数。
创建文件
您可以执行 CREATE FILE 语句来创建文件。有关更多信息,请参见 CREATE FILE。创建文件后,该文件将被上传并持久化到 StarRocks 中。
查看文件
您可以执行 SHOW FILE 语句来查看存储在数据库中的文件的信息。有关更多信息,请参见 SHOW FILE。
删除文件
您可以执行 DROP FILE 语句来删除文件。有关更多信息,请参见 DROP FILE。
FE 和 BE 如何使用文件
- FE:SmallFileMgr 类将与文件相关的数据存储在 FE 的指定目录中。然后 SmallFileMgr 类返回一个本地文件路径供 FE 使用该文件。
- BE:BE 调用 /api/get_small_file API (HTTP) 将文件下载到其指定目录并记录文件的信息。当 BE 请求使用该文件时,BE 会检查该文件是否已被下载,然后验证该文件。如果文件通过验证,则返回该文件的路径。如果文件未通过验证,则会删除该文件并从 FE 重新下载。当 BE 重新启动时,它会将下载的文件预加载到其内存中。