Mulai Hologres V3.0, Anda dapat membuat tabel eksternal di skema eksternal yang bersumber dari DLF 2.0. Tabel eksternal hanya dapat dibuat dalam format Apache Paimon. Topik ini menjelaskan penggunaan dan batasan pernyataan BUAT TABEL EKSTERNAL.
Sintaksis
Sintaksis pembuatan tabel
Kode berikut menunjukkan sintaksis pernyataan BUAT TABEL EKSTERNAL:
CREATE EXTERNAL TABLE [IF NOT EXISTS] <ext_db_name>.<ext_schema_name>.<ext_table_name>
(
[{
<col_name> <col_type> [<col_constraints> [, ...]] |
<table_constraints> [, ...]
}]
)
[LOGICAL PARTITION BY LIST(<col_name> [, ...])]
[
WITH
(
"<property>" = '<value>' [, ...]
)
];Parameter dalam klausa WITH
Parameter | Deskripsi | Contoh |
table_format | Format tabel dari tabel eksternal yang ingin Anda buat. Hanya tabel Apache Paimon yang didukung. |
|
file_format | Format file dari tabel eksternal yang ingin Anda buat. Hanya format ORC dan Parquet yang didukung. |
|
bucket | Data dibaca dan ditulis ke tabel Apache Paimon berdasarkan bucket. Setelah Anda mengonfigurasi parameter ini, semua data dalam tabel non-partisi atau data di setiap partisi dari tabel partisi didistribusikan ke bucket yang berbeda. Ini memungkinkan pembacaan data secara bersamaan atau penulisan data secara bersamaan ke tabel Apache Paimon dalam pekerjaan, yang meningkatkan efisiensi pemrosesan. Untuk informasi lebih lanjut, lihat Distribusi Data. |
|
bucket-key | Kunci berdasarkan mana data didistribusikan ke bucket. |
|
changelog-producer | Untuk memungkinkan konsumsi hilir dalam mode streaming, diperlukan changelog lengkap untuk operasi INSERT, DELETE, dan UPDATE pada tabel Apache Paimon. Changelog mirip dengan log biner dalam database. Parameter ini menentukan metode pembuatan changelog untuk tabel Apache Paimon. Untuk informasi lebih lanjut, lihat Changelog Producer. |
|
Operasi lainnya
Kueri pernyataan pembuatan tabel
SELECT * FROM hologres.hg_dump_script_external('<ext_db_name>.<ext_schema_name>.<ext_table_name>');Kueri properti kolom dan partisi tabel
SELECT * FROM hologres.hg_external_columns('<ext_db_name>', '<ext_schema_name>', '<ext_table_name>');Kueri semua tabel dalam skema eksternal
SELECT * FROM hologres.hg_external_tables ('<ext_db_name>', '<ext_schema_name>');Perbarui metadata tabel eksternal
REFRESH CACHE FOR External TABLE <ext_db_name>.<ext_schema_name>.<ext_table_name> WITH( cache_level = 'metadata');Contoh
Buat tabel partisi di DLF 2.0
Contoh ini menunjukkan pembuatan tabel append-only Apache Paimon.
CREATE EXTERNAL TABLE ext_db_dlf.ext_schema_dlf.ext_par_table_dlf(
id TEXT,
created_at BIGINT,
type TEXT,
actor_id TEXT,
actor_login TEXT,
repo_id TEXT,
repo_name TEXT,
org TEXT,
org_login TEXT
)
LOGICAL PARTITION BY LIST(created_at)
WITH (
"file_format" = 'orc',
"bucket"=6,
"bucket-key"='id'
);Buat tabel non-partisi di DLF 2.0
Contoh ini menunjukkan pembuatan tabel kunci utama Apache Paimon.
CREATE EXTERNAL TABLE openlake_win.github_events.gh_event_ods(
id TEXT,
created_at BIGINT,
type TEXT,
actor_id TEXT,
actor_login TEXT,
repo_id TEXT,
repo_name TEXT,
org TEXT,
org_login TEXT,
PRIMARY KEY(id)
) WITH (
"changelog-producer"='input',
"bucket"=6,
"bucket-key"='id'
);