表类型

Paimon支持的表类型:

  1. 主键表:带有主键的Paimon数据表。
  2. 无主键表:没有主键的Paimon数据表。
  3. 视图:需要元存储,SQL中的视图是一种虚拟表。
  4. 格式表:文件格式表是指包含多个形同格式文件的目录,在此表上的操作允许读取或写入这些文件,和Hive表兼容。
  5. 对象表:为指定对象存储目录中的非结构化数据对象提供元数据索引。
  6. 实体化表:旨在简化批处理和流数据管道,提供一致性的开发体验。

主键表

主键由一组列组成,这些列包含每条记录的唯一值,Paimon通过对每个桶中的主键进行排序来强制数据排序,允许流式更新和流式变更日志读取。

主键的定义类似于标准SQL,因为它确保在批处理查询期间同一主键只有一个数据条目。
Flink SQL

CREATE TABLE my_table (
    a INT PRIMARY KEY NOT ENFORCED,
    b STRING
) WITH (
    'bucket'='8'
)

无主键表

如果一张表没有定义主键,则它是一张追加表,与主键表相比,它不能直接接收变更日志,无法通过流upsert来直接更新数据,它只能从追加数据来接收传入的数据。

但是,它也支持批处理SQL:DELETEUPDATEMERGE-INTO

CREATE TABLE my_table (
    a INT,
    b STRING
)

视图

当元存储支持视图时则支持视图,例如:Hive元存储。如果没有元存储,则只能使用临时视图,该视图只存在于当前会话中,这里主要描述持久视图。

视图当前只保存原始SQL,如果需要跨引擎使用视图,可以编写跨引擎SQL语句。
Flink SQL:

CREATE VIEW [IF NOT EXISTS] [catalog_name.][db_name.]view_name
   [( columnName [, columnName ]* )] [COMMENT view_comment]
AS query_expression;

DROP VIEW  [IF EXISTS] [catalog_name.][db_name.]view_name;

SHOW VIEWS;

SHOW CREATE VIEW my_view;

博弈
2.5k 声望1.5k 粉丝

态度决定一切


« 上一篇
Paimon Catalog