核心特性对比如下:
| 特性 | 内表 (Internal Table) | 外表 (External Table) |
| 数据存储 | TCHouse-X 托管存储(数据与元数据统一管理) | 用户自管的 COS 存储桶、HDFS(数据与元数据分离) |
| DDL 语法 | CREATE TABLE | CREATE EXTERNAL TABLE |
| 存储格式 | TCHouse-X 自研结构,系统自动决定 | 建表时可指定(如 STORED AS TEXTFILE) |
| 核心优势 | 更高的读写性能,支持行级修改 | 零 ETL,可直接读取外部数据资产 |
| DML 支持 | 完整支持: INSERT, LOAD, UPDATE, DELETE, TRUNCATE | 有限支持: 仅支持 INSERT, LOAD, TRUNCATE。不支持 UPDATE/DELETE。 |
| 文件优化 | 支持系统自动合并文件 (COMPACTION) | 不支持 COMPACTION,写入易产生小文件 |
一、内表
内表是 TCHouse-X 自研的表结构,为追求极致的读写性能而设计。
·性能: 具有更高的读写性能和查询效率。
·存储: 数据仅存储在 TCHouse-X 的托管存储中,用户不需手动维护数据文件。
·DDL 约束: 建表时使用 CREATE TABLE,不支持指定 LOCATION 和底层存储格式。
·DML 支持: 支持完整的 DML 操作,包括行级的 UPDATE 和 DELETE。
示例:创建内表
CREATE TABLE default.dt1 ( id INT, name VARCHAR(50));
二、外表
外表用于连接 TCHouse-X 外部已有的数据源,实现分析计算。
·存储: 数据存储在用户自管的 COS 桶或 HDFS 中。
·DDL 约束: 必须使用 CREATE EXTERNAL TABLE 语法,且必须通过 LOCATION 参数指定数据文件的路径。
·读取格式: 支持对 Parquet、Textfile、ORC、JSON 等主流文件进行读操作。
·DML 限制: 不支持行级的数据修改 (UPDATE, DELETE)。
·文件问题: 不支持文件合并 (COMPACTION) 特性,写入操作会创建多个小文件。
示例:创建外表
CREATE EXTERNAL TABLE default.dt1 ( id INT, name VARCHAR(50))STORED AS TEXTFILELOCATION 'cosn://bucket-name/path';