ICEBERG_META
説明
iceberg_meta テーブル値関数(tvf)は、icebergメタデータ、操作履歴、テーブルのスナップショット、ファイルメタデータなどを読み取るために使用します。
構文
ICEBERG_META(
"table" = "<table>",
"query_type" = "<query_type>"
);
必須パラメータ
iceberg_metaテーブル関数(tvf)の各パラメータは"key"="value"ペアです。
| フィールド | 説明 |
|---|---|
<table> | 表示したいIcebergテーブルの完全なテーブル名。database_name.table_nameの形式で指定する必要があります。 |
<query_type> | 表示したいメタデータのタイプ。サポートされるタイプ:snapshots: スナップショット情報manifests: 現在のスナップショットのManifestファイルall_manifests: すべての有効なスナップショットのManifestファイル(バージョン4.0.4からサポート)files: 現在のスナップショットのファイル情報data_files: 現在のスナップショットのデータファイルdelete_files: 現在のスナップショットの削除ファイルpartitions: パーティション情報refs: リファレンス情報(ブランチとタグ)history: 履歴レコードmetadata_log_entries: メタデータログエントリ |
例
-
スナップショット用のicebergテーブルメタデータの読み取りとアクセス
select * from iceberg_meta("table" = "ctl.db.tbl", "query_type" = "snapshots"); -
desc functionと一緒に使用できます:desc function iceberg_meta("table" = "ctl.db.tbl", "query_type" = "snapshots"); -
iceberg テーブルスナップショットを検査する:
select * from iceberg_meta("table" = "iceberg_ctl.test_db.test_tbl", "query_type" = "snapshots");+------------------------+----------------+---------------+-----------+-------------------+------------------------------+
| committed_at | snapshot_id | parent_id | operation | manifest_list | summary |
+------------------------+----------------+---------------+-----------+-------------------+------------------------------+
| 2022-09-20 11:14:29 | 64123452344 | -1 | append | hdfs:/path/to/m1 | {"flink.job-id":"xxm1", ...} |
| 2022-09-21 10:36:35 | 98865735822 | 64123452344 | overwrite | hdfs:/path/to/m2 | {"flink.job-id":"xxm2", ...} |
| 2022-09-21 21:44:11 | 51232845315 | 98865735822 | overwrite | hdfs:/path/to/m3 | {"flink.job-id":"xxm3", ...} |
+------------------------+----------------+---------------+-----------+-------------------+------------------------------+ -
snapshot_id でフィルタリング:
select * from iceberg_meta("table" = "iceberg_ctl.test_db.test_tbl", "query_type" = "snapshots") where snapshot_id = 98865735822;+------------------------+----------------+---------------+-----------+-------------------+------------------------------+
| committed_at | snapshot_id | parent_id | operation | manifest_list | summary |
+------------------------+----------------+---------------+-----------+-------------------+------------------------------+
| 2022-09-21 10:36:35 | 98865735822 | 64123452344 | overwrite | hdfs:/path/to/m2 | {"flink.job-id":"xxm2", ...} |
+------------------------+----------------+---------------+-----------+-------------------+------------------------------+ -
iceberg テーブルのマニフェストを表示する(現在のスナップショットのマニフェストファイル)
select * from iceberg_meta("table" = "iceberg_ctl.test_db.test_tbl", "query_type" = "manifests"); -
iceberg テーブルの all_manifests を表示する(すべての有効なスナップショットのマニフェストファイル、バージョン 4.0.4 からサポート)
select * from iceberg_meta("table" = "iceberg_ctl.test_db.test_tbl", "query_type" = "all_manifests"); -
iceberg テーブルのファイルを表示する(現在のスナップショットのファイル情報)
select * from iceberg_meta("table" = "iceberg_ctl.test_db.test_tbl", "query_type" = "files"); -
icebergテーブルのdata_filesを表示(現在のスナップショットのデータファイル)
select * from iceberg_meta("table" = "iceberg_ctl.test_db.test_tbl", "query_type" = "data_files"); -
icebergテーブルのdelete_filesを表示(現在のスナップショットの削除ファイル)
select * from iceberg_meta("table" = "iceberg_ctl.test_db.test_tbl", "query_type" = "delete_files"); -
icebergテーブルのパーティションを表示する
select * from iceberg_meta("table" = "iceberg_ctl.test_db.test_tbl", "query_type" = "partitions"); -
icebergテーブルのrefs(参照情報)を表示
select * from iceberg_meta("table" = "iceberg_ctl.test_db.test_tbl", "query_type" = "refs"); -
icebergテーブルの履歴を表示
select * from iceberg_meta("table" = "iceberg_ctl.test_db.test_tbl", "query_type" = "history"); -
icebergテーブルのmetadata_log_entriesを表示する
select * from iceberg_meta("table" = "iceberg_ctl.test_db.test_tbl", "query_type" = "metadata_log_entries");
関連
Icebergシステムテーブルの詳細情報については、Iceberg Catalog System Tablesを参照してください。