全部产品
Search
文档中心

Hologres:BUAT TABEL EKSTERNAL

更新时间:Jun 23, 2025

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.

"table_format" = 'paimon'

file_format

Format file dari tabel eksternal yang ingin Anda buat. Hanya format ORC dan Parquet yang didukung.

"file_format" = 'orc'

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" = '1'

bucket-key

Kunci berdasarkan mana data didistribusikan ke bucket.

"bucket-key"='id'

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.

"changelog-producer"='input'

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'
);