日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

Paimon系統表

Paimon系統表用于存儲Paimon表的元數據和特定的數據消費行為。本文為您介紹Paimon元數據系統表和特定消費行為的有關系統表作用,相關的字段及含義等。

元數據系統表

Snapshots系統表

Snapshots系統表可以查詢每個快照文件的具體信息,例如快照文件的編號,快照文件的創建時間等。

以下SQL語句查詢mycatalog.mydb.mytbl的Snapshots系統表。

SELECT * FROM mycatalog.mydb.`mytbl$snapshots`;

Snapshots系統表常用的列如下。

列名

數據類型

含義

snapshot_id

Long

快照文件的編號。

schema_id

Long

快照文件對應的表結構文件編號,表結構文件的內容可在Schemas系統表中查看。

commit_time

Timestamp

快照文件的創建時間。

total_record_count

Long

快照文件指向的數據文件中數據的總條數。

說明

數據文件需要在內存中歸并之后才能產出真正的數據。因此total_record_count列的取值并不等于Paimon表邏輯上保存的數據條數。

delta_record_count

Long

與上一個快照文件相比,數據文件中增加的數據條數。

changelog_record_count

Long

本次快照產生的變更數據條數。

Schemas系統表

Schemas系統表可以查詢表的當前以及歷史結構信息。每次通過ALTER TABLE語句CREATE TABLE AS(CTAS)語句CREATE DATABASE AS(CDAS)語句修改Paimon表的結構時,都會在Schemas系統表中增加一條記錄。以下SQL語句查詢mycatalog.mydb.mytbl的Schemas系統表。

SELECT * FROM mycatalog.mydb.`mytbl$schemas`;

Schemas系統表常用的列如下。

列名

數據類型

含義

schema_id

Long

表結構的編號。

fields

String

每一列的名稱以及類型等。

partition_keys

String

分區列的名稱。

primary_keys

String

主鍵的名稱。

options

String

表參數的值。

comment

String

表的備注信息。

update_time

Timestamp

表結構修改的時間。

Options系統表

Options系統表可以查詢當前配置的表參數。

以下SQL語句查詢mycatalog.mydb.mytbl的Options系統表。

SELECT * FROM mycatalog.mydb.`mytbl$options`;

Options系統表常用的列如下。

列名

數據類型

含義

key

String

配置項的名稱。

value

String

配置項的值。

說明

未顯示的表參數將使用默認值。

Partitions系統表

Partitions系統表可以查詢Paimon表里有哪些分區、每個分區的數據總數,以及文件總量。

以下SQL語句查詢mycatalog.mydb.mytbl對應的Partitions系統表。

SELECT * FROM mycatalog.mydb.`mytbl$partitions`;

Partitions系統表常用的列如下。

列名

數據類型

含義

partition

String

分區值,格式為[分區值 1, 分區值 2, ...]

record_count

Long

分區內的數據條數。

說明

數據文件還需要在內存中歸并之后才能產出真正的數據,因此record_count列的取值并不等于該分區邏輯上保存的數據條數。

file_size_in_bytes

Long

分區內的文件總大小,以字節為單位。

未被當前快照文件指向的歷史數據文件不會被統計。

Files系統表

Files系統表可以查詢某個快照文件指向的所有數據文件,包括數據文件的格式、文件內的數據條數和文件大小等。

以下SQL語句查詢mycatalog.mydb.mytbl最新快照對應的Files系統表。

SELECT * FROM mycatalog.mydb.`mytbl$files`;

以下SQL語句查詢mycatalog.mydb.mytbl編號為5的快照對應的Files系統表。

SELECT * FROM mycatalog.mydb.`mytbl$files` /*+ OPTIONS('scan.snapshot-id'='5') */;

Files系統表常用的列如下。

列名

數據類型

含義

partition

String

文件所在的分區,格式為[分區值 1, 分區值 2, ...]。

bucket

Integer

文件所在的分桶,只對固定分桶的主鍵表有意義。

file_path

String

文件路徑。

file_format

String

文件格式。

schema_id

Long

快照文件對應的表結構文件編號,表結構文件的內容可在Schemas系統表中查看。

level

Integer

文件所在的LSM層級,只對主鍵表有意義。

level = 0的文件就是未合并的小文件。通過查詢某個分桶level = 0的文件數量,可以了解該分桶小文件合并的情況。

record_count

Long

文件內的數據條數。

file_size_in_bytes

Long

文件大小,以字節為單位。

說明

未被當前快照文件指向的歷史數據文件不會顯示在查詢結果里。

Tags系統表

Tags系統表可以查詢每個Tag文件的具體信息,例如Tag的名稱、創建Tag時使用的快照編號等。

以下SQL語句查詢mycatalog.mydb.mytbl的Tags系統表。

SELECT * FROM mycatalog.mydb.`mytbl$tags`;

Tags系統表常用的列如下。

列名

數據類型

含義

tag_name

String

Tag名稱。

snapshot_id

Long

創建Tag時基于的快照的編號。

schema_id

Long

Tag對應的表結構編號,可在Schemas系統表中查詢編號對應的具體表結構。

commit_time

Timestamp

創建Tag時基于的快照的創建時間。

record_count

Long

文件內的數據條數。

特定消費行為的系統表

Read-optimized系統表

通常,Paimon表在消費過程中,需要將數據文件在內存中歸并之后,才能產出真正的數據,一定程度上會影響查詢效率。如果您對Paimon主鍵表的批作業讀取效率,或即席(OLAP)查詢效率有較高的要求,可以消費該Paimon表對應的Read-optimized系統表。Read-optimized系統表只讀取不需要合并的文件(主要是小文件全量合并后的數據文件),因此省去了在內存中歸并排序的流程,提高了查詢效率。然而,小文件的全量合并頻率較低,因此read-optimized系統表產出的數據時效性偏低。您可以配置以下參數,使得小文件全量合并在一段時間后強制進行,在寫入效率、消費效率與數據時效性之間進行平衡。

參數

說明

數據類型

默認值

備注

compaction.optimization-interval

超過該時間間隔后,強制進行小文件的全量合并。

Duration

如果小文件的全量合并過于頻繁,可能導致寫入作業效率偏低。因此推薦該參數值設置在30 min以上。

以下SQL語句查詢mycatalog.mydb.mytbl最新快照對應的Read-optimized系統表。

SELECT * FROM mycatalog.mydb.`mytbl$ro`;

Audit Log系統表

如果您在消費Paimon表的過程中,需要了解每一條數據的操作類型是插入還是刪除,可以消費該Paimon表對應的Audit Log系統表。Audit log系統表產出的數據與對應的Paimon表一致,只是會在每條數據第1列的前面新增一個rowkind列,顯式保存這條數據的類型,數據的操作類型共有+I(insert)、-U(update before)、+U(update after)、-D(delete)四種。而對于Audit Log系統表里的每條數據而言,它的數據操作類型都是+I(insert)

以下SQL語句查詢mycatalog.mydb.mytbl最新快照對應的audit_log系統表。

SELECT * FROM mycatalog.mydb.`mytbl$audit_log`;

相關文檔

關于每種系統表完整的表結構詳情,請參見Apache Paimon 官方文檔