文件外部表
文件外部表 (File External Table) 是一种特殊的外部表。您可以通过文件外部表直接查询外部存储系统上的 Parquet 和 ORC 格式的数据文件,无需导入数据。同时,文件外部表也不依赖任何 Metastore。StarRocks 当前支持的外部存储系统包括 HDFS、Amazon S3 及其他兼容 S3 协议的对象存储、阿里 云对象存储 OSS 和腾讯云对象存储 COS。
该特性从 StarRocks 2.5 版本开始支持。
使用限制
- 当前仅支持在 default_catalog 下的数据库内创建文件外部表,不支持 external catalog。您可以通过 SHOW CATALOGS 来查询集群下的 catalog。
- 仅支持查询 Parquet 和 ORC 格式的数据文件。
- 目前仅支持读取目标数据文件中的数据,不支持例如 INSERT,DELETE,DROP 等写入操作。
前提条件
创建文件外部表前,您需要在 StarRocks 中进行相应配置,以便集群能够访问数据文件所在的外部存储系统。具体配置步骤和 Hive catalog 相同 (区别在于无需配置 Metastore)。详细信息参见 Hive catalog - 准备工作。
创建数据库 (可选)
连接到 StarRocks 集群后,您可以在当前已有的数据库下创建文件外部表;也可以创建一个新的数据库来管理文件外部表。您可以使用 SHOW DATABASES 来查询集群中的数据库, 然后执行 USE <db_name>
切换到目标数据库。
创建数据库的语法如下。
CREATE DATABASE [IF NOT EXISTS] <db_name>