Topik ini menjelaskan cara melihat skema, alur data, dan detail penyimpanan Tabel Dinamis, serta cara melihat semua Tabel Dinamis dalam suatu instans dan mengelola tabel status.
Lihat skema Tabel Dinamis
Sintaksis
SELECT hg_dump_script('[<schema_name>.]<table_name>');-
Parameter
-
schema_name: Opsional. Nama skema.
-
table_name: Wajib diisi. Nama Tabel Dinamis.
-
Lihat Tabel Dinamis di instans saat ini
Anda dapat menggunakan tabel sistem hologres.hg_dynamic_table_properties untuk melihat semua Tabel Dinamis di instans saat ini beserta pola refresh-nya. Perintah SQL-nya adalah sebagai berikut.
SELECT dynamic_table_name, property_value FROM hologres.hg_dynamic_table_properties WHERE property_key = 'refresh_mode';
Anda juga dapat menjalankan perintah SQL berikut untuk melihat seluruh metadata Tabel Dinamis tertentu.
SELECT * FROM hologres.hg_dynamic_table_properties WHERE dynamic_table_name='<dynamic_table_name>';
Lihat alur data Tabel Dinamis
Visualisasi
Anda dapat melihat alur data Tabel Dinamis menggunakan HoloWeb atau DataWorks Data Map.
-
HoloWeb: Di Konsol HoloWeb, pilih . Pada tab Lineage Information, lihat alur data Tabel Dinamis tersebut.
-
DataWorks Data Map: DataWorks Data Map secara otomatis mengumpulkan dan menampilkan alur data Tabel Dinamis. Untuk informasi selengkapnya, lihat Data lineage.
Metode SQL
Lihat alur data satu Tabel Dinamis
Anda dapat menjalankan perintah SQL berikut untuk melihat alur data Tabel Dinamis tertentu.
-- Lihat alur data satu tabel
SELECT
d.*,
CASE WHEN k.dynamic_table_namespace IS NOT NULL THEN
'd'
ELSE
c.relkind
END
FROM
hologres.hg_dynamic_table_dependencies d
LEFT JOIN pg_namespace n ON n.nspname = d.table_namespace
LEFT JOIN pg_class c ON c.relnamespace = n.oid
AND c.relname = d.table_name
LEFT JOIN (
SELECT
dynamic_table_namespace,
dynamic_table_name
FROM
hologres.hg_dynamic_table_properties
GROUP BY
1,
2) k ON k.dynamic_table_namespace = d.table_namespace
AND k.dynamic_table_name = d.table_name
WHERE
d.dynamic_table_namespace = '<schema_name>'
AND d.dynamic_table_name = '<dynamic_table_name>'
AND d.dependency <> 'internal_table';
Lihat alur data semua Tabel Dinamis
Anda dapat menjalankan perintah SQL berikut untuk melihat alur data semua Tabel Dinamis di instans saat ini.
SELECT
d.*,
CASE WHEN k.dynamic_table_namespace IS NOT NULL THEN
'd'
ELSE
c.relkind
END
FROM
hologres.hg_dynamic_table_dependencies d
LEFT JOIN pg_namespace n ON n.nspname = d.table_namespace
LEFT JOIN pg_class c ON c.relnamespace = n.oid
AND c.relname = d.table_name
LEFT JOIN (
SELECT
dynamic_table_namespace,
dynamic_table_name
FROM
hologres.hg_dynamic_table_properties
GROUP BY
1,
2) k ON k.dynamic_table_namespace = d.table_namespace
AND k.dynamic_table_name = d.table_name
WHERE
d.dependency <> 'internal_table';
Daftar berikut menjelaskan pemetaan nilai untuk base_table_type:
-
r: tabel biasa.
-
v: view.
-
m: materialized view.
-
f: foreign table.
-
d: Dynamic Table.
Lihat detail penyimpanan Tabel Dinamis
Anda dapat menggunakan fungsi hologres.hg_relation_size untuk melihat ukuran penyimpanan dan detail Tabel Dinamis. Untuk informasi selengkapnya tentang penggunaan fungsi hologres.hg_relation_size, lihat View table storage details.
Kelola tabel status
Untuk Tabel Dinamis yang menggunakan incremental refresh, sistem akan menghasilkan tabel status di lapisan bawah untuk mempercepat komputasi data. Tabel ini menyimpan hasil agregasi. Secara default, tabel status disimpan di kelompok tabel default dan tidak mendukung sharding ulang. Untuk informasi selengkapnya, lihat Dynamic Table. Jika Anda mengubah pola refresh menjadi full refresh, tabel status akan dihapus secara default.
Lihat penggunaan penyimpanan tabel status
Anda dapat menjalankan perintah SQL berikut untuk melihat ukuran penyimpanan tabel status. Aturan penagihan penyimpanannya sama dengan tabel standar. Untuk informasi selengkapnya, lihat Billing overview.
SELECT pg_size_pretty(hologres.hg_dynamic_table_state_size('<dynamic_table_name>'));