全部产品
Search
文档中心

Hologres:Setel resource refresh untuk tabel dinamis

更新时间:Nov 30, 2025

Topik ini menjelaskan resource refresh untuk tabel dinamis Hologres.

Sintaks

Di Hologres, Anda dapat menentukan resource refresh untuk tabel dinamis menggunakan parameter computing_resource. Sintaks pengaturan parameter ini berbeda tergantung pada versi Hologres.

Deskripsi parameter

Parameter

Wajib

Deskripsi

Contoh

computing_resource

Tidak

Jenis resource untuk merefresh Tabel Dinamis:

  • local: Sumber daya instans saat ini. Jika instans tersebut adalah instans tujuan umum, `local` mewakili sumber daya instans tersebut. Sumber daya ini dibagikan dengan kueri lain dan tidak menyediakan isolasi sumber daya antar kueri. Perebutan sumber daya dapat terjadi selama jam sibuk.

  • serverless: Kolam resource Serverless Computing jarak jauh yang sepenuhnya dikelola. Anda tidak perlu memesan resource komputasi dengan spesifikasi yang ditentukan. Mesin secara otomatis menentukan resource yang diperlukan untuk refresh berdasarkan kueri. Hal ini memungkinkan isolasi resource tingkat kueri dan skalabilitas elastis. Untuk informasi lebih lanjut, lihat Serverless Computing Overview.

  • warehouse_name: Jika instans tersebut merupakan instans compute group, Anda dapat menentukan warehouse mana pun untuk melakukan refresh. Hal ini menyediakan isolasi resource tingkat warehouse. Untuk informasi lebih lanjut, lihat Compute group instance Quick Start.

    Catatan

    Hanya Hologres V4.0.7 atau yang lebih baru yang mendukung nilai parameter warehouse_name.

Atur jenis resource ke serverless: computing_resource='serverless'

Sintaks SQL

Penting

Sintaks SQL untuk mengatur resource refresh tabel dinamis yang dijelaskan di sini berlaku untuk Hologres V4.0.7 dan versi yang lebih baru. Untuk sintaks pada versi V4.0.1 hingga V4.0.6, V3.2, V3.1, dan V3.0, lihat Auto-refresh resources.

  • Sintaks SQL berikut mengatur resource refresh saat membuat tabel:

-- Sintaks dalam contoh ini berlaku untuk Hologres V4.0.7 dan yang lebih baru.
-- Tentukan resource refresh saat membuat tabel.
CREATE [EXTERNAL] DYNAMIC TABLE [ IF NOT EXISTS ] [<schema_name>.]<table_name>
  [ (<col_name> [, ...] ) ]
  [LOGICAL PARTITION BY LIST(<partition_key>)]
  WITH (
  -- Properti tabel dinamis.
  freshness = '<num> {minutes | hours}', -- Wajib.
  [computing_resource = {'local' | 'serverless' | '<warehouse_name>'},] -- Opsional.
  )
  AS
  <query>; -- Definisi kueri.
  • Sintaks SQL berikut mengatur resource refresh saat melakukan refresh manual pada tabel:

-- Sintaks dalam contoh ini berlaku untuk Hologres V4.0.7 dan yang lebih baru.
-- Tentukan resource refresh selama refresh manual.
refresh dynamic table [<schema_name>.]<table_name> with(computing_resource='local' | 'serverless' |  '<warehouse_name>',]);

Catatan

  • Jika Anda menetapkan computing_resource ke warehouse_name saat membuat tabel dinamis, lalu menghapus instans compute group, operasi refresh akan gagal.

  • Jika Anda menetapkan computing_resource ke warehouse_name saat membuat tabel dinamis, lalu mengganti nama warehouse tersebut, operasi refresh tetap berjalan normal. Nama warehouse baru akan muncul dalam Data Definition Language (DDL).

  • Jika Anda menetapkan computing_resource ke serverless, tetapi definisi kueri tabel dinamis tidak memenuhi kondisi eksekusi Serverless, perilaku berikut terjadi:

    • Refresh otomatis fallback menggunakan resource local.

      • Untuk instans compute group, resource local merujuk pada warehouse leader dari kelompok tabel (TG) tempat tabel dinamis berada. Untuk tabel dinamis eksternal, resource local merujuk pada warehouse default instans tersebut.

      • Untuk instans non-compute group, resource local merujuk pada resource yang dicadangkan oleh instans tersebut.

    • Saat melihat DDL menggunakan hg_dump_script, nilai computing_resource tetap serverless. Jika kueri memenuhi kondisi eksekusi serverless, operasi refresh akan menggunakan resource serverless. Untuk mengetahui resource yang digunakan setiap refresh, periksa log kueri lambat.

Metode resource refresh

Hologres menyediakan dua metode untuk merefresh resource tabel dinamis: auto-refresh dan refresh manual. Perilaku default untuk metode ini berbeda tergantung versinya.

Resource auto-refresh

Bagian berikut menjelaskan sintaks dan perilaku default untuk mengatur resource refresh saat membuat tabel pada berbagai versi.

V4.0.7 dan yang lebih baru

Sintaks SQL adalah sebagai berikut:

-- Tentukan resource refresh saat membuat tabel.
CREATE [EXTERNAL] DYNAMIC TABLE [ IF NOT EXISTS ] [<schema_name>.]<table_name>
  [ (<col_name> [, ...] ) ]
  [LOGICAL PARTITION BY LIST(<partition_key>)]
  WITH (
  -- Properti tabel dinamis.
  freshness = '<num> {minutes | hours}', -- Wajib.
  [computing_resource = {'local' | 'serverless' | '<warehouse_name>'},] -- Opsional.
  )
  AS
  <query>; -- Definisi kueri.

Perilaku default untuk resource refresh adalah sebagai berikut:

Kelas tabel

Pola refresh

Resource refresh

Instans non-compute group

Instans compute group

Dynamic Table

Incremental refresh & full refresh

  • Menggunakan resource Serverless secara default.

  • Anda dapat menentukan resource local dari instans tersebut.

  • Menggunakan resource Serverless secara default.

  • Anda dapat menentukan warehouse_name. Warehouse yang ditentukan kemudian digunakan untuk refresh.

  • Jika Anda menentukan resource local tanpa secara eksplisit menyetel warehouse_name, sistem menggunakan warehouse dari koneksi saat ini untuk refresh secara default.

External Dynamic Table

Incremental refresh & full refresh

  • Menggunakan resource Serverless secara default.

  • Anda dapat menentukan resource local dari instans tersebut.

  • Menggunakan resource Serverless secara default.

  • Anda dapat menentukan warehouse_name. Warehouse yang ditentukan kemudian digunakan untuk refresh.

  • Jika Anda menentukan resource local tanpa secara eksplisit menyetel warehouse_name, sistem menggunakan warehouse dari koneksi saat ini untuk refresh secara default.

V4.0.1 hingga V4.0.6

Sintaks SQL adalah sebagai berikut:

-- Tentukan resource refresh saat membuat tabel.
CREATE [EXTERNAL] DYNAMIC TABLE [ IF NOT EXISTS ] [<schema_name>.]<table_name>
  [ (<col_name> [, ...] ) ]
  [LOGICAL PARTITION BY LIST(<partition_key>)]
  WITH (
  -- Properti tabel dinamis.
  freshness = '<num> {minutes | hours}', -- Wajib.
  [computing_resource = {'local' | 'serverless' },] -- Opsional.
  )
  AS
  <query>; -- Definisi kueri.

Perilaku default untuk resource refresh adalah sebagai berikut:

Kelas tabel

Pola refresh

Resource refresh

Instans non-compute group

Instans compute group

Dynamic Table

Incremental refresh & full refresh

  • Menggunakan resource Serverless secara default.

  • Anda dapat menentukan resource local dari instans tersebut.

  • Menggunakan resource Serverless secara default.

  • Anda dapat menentukan resource local. Saat refresh dilakukan, resource yang digunakan adalah warehouse leader dari TG tabel dasar dan warehouse leader dari TG Tabel Dinamis. Beberapa warehouse mungkin digunakan.

  • Menentukan warehouse_name tidak didukung.

External Dynamic Table

Incremental refresh & full refresh

  • Menggunakan resource Serverless secara default.

  • Anda dapat menentukan resource local dari instans tersebut.

  • Menggunakan resource Serverless secara default.

  • Anda dapat menentukan resource local. Saat refresh dilakukan, resource yang digunakan adalah warehouse leader dari kelompok tabel default di DB tempat External Dynamic Table dibuat.

  • Menentukan warehouse_name tidak didukung.

V3.1 hingga V3.2

Sintaks SQL adalah sebagai berikut:

-- Tentukan resource refresh saat membuat tabel.
CREATE [EXTERNAL] DYNAMIC TABLE [ IF NOT EXISTS ] [<schema_name>.]<table_name>
  [ (<col_name> [, ...] ) ]
  [LOGICAL PARTITION BY LIST(<partition_key>)]
  WITH (
  -- Properti tabel dinamis.
  freshness = '<num> {minutes | hours}', -- Wajib.
  [computing_resource = {'local' | 'serverless' },] -- Opsional.
  )
  AS
  <query>; -- Definisi kueri.

Perilaku default untuk resource refresh adalah sebagai berikut:

Kelas tabel

Pola refresh

Resource refresh

Instans non-compute group

Instans compute group

Dynamic Table

Incremental refresh & full refresh

  • Menggunakan resource Serverless secara default.

  • Anda dapat menentukan resource local dari instans tersebut.

  • Menggunakan resource Serverless secara default.

  • Anda dapat menentukan resource local. Saat refresh dilakukan, resource yang digunakan adalah warehouse leader dari TG tabel dasar dan warehouse leader dari TG Tabel Dinamis. Beberapa warehouse mungkin digunakan.

  • Menentukan warehouse_name tidak didukung.

V3.0

Sintaks SQL adalah sebagai berikut:

CREATE DYNAMIC TABLE [IF NOT EXISTS] <schema.tablename>(
[col_name],
[col_name]
  ) [PARTITION BY LIST (col_name)]
WITH (
      [refresh_mode='[full|incremental]',]
      [incremental_auto_refresh_schd_start_time='[immediate|<timestamptz>]',]
      [incremental_auto_refresh_interval='[<num> {minute|minutes|hour|hours]',] 
      [incremental_guc_hg_computing_resource='[ local | serverless]',]
      [full_guc_hg_computing_resource='[ local | serverless]',]
) 
AS
<query> --Definisi kueri

Perilaku default untuk resource refresh adalah sebagai berikut:

Kelas tabel

Pola refresh

Segarkan sumber daya

Instans non-compute group

Instans compute group

Dynamic Table

Incremental refresh & full refresh

  • Menggunakan resource local secara default.

  • Anda dapat menentukan resource serverless.

  • Menggunakan resource local secara default. Saat refresh dilakukan, resource yang digunakan adalah warehouse leader dari TG Tabel Dinamis.

  • Anda dapat menentukan resource serverless.

  • Menentukan warehouse_name tidak didukung.

Resource refresh manual

Bagian berikut menjelaskan sintaks dan perilaku default untuk refresh resource manual pada berbagai versi.

V4.0.7 dan yang lebih baru

Sintaks SQL adalah sebagai berikut:

--Tentukan resource refresh selama refresh manual.
refresh dynamic table [<schema_name>.]<table_name> with(computing_resource='local' | 'serverless' |  '<warehouse_name>',]);
Catatan
  • Saat melakukan refresh manual tanpa secara eksplisit menyetel parameter computing_resource, operasi refresh menggunakan nilai computing_resource dari DDL tabel secara default.

  • Jika Anda melakukan refresh manual dan secara eksplisit menyetel parameter computing_resource, operasi tersebut menggunakan nilai tersebut, meskipun berbeda dari nilai computing_resource dalam DDL tabel.

  • Untuk instans berbasis compute group, Anda dapat menyetel salah satu dari tiga nilai: local | serverless | warehouse_name , di mana local menentukan warehouse untuk koneksi saat ini.

  • Untuk instans non-kelompok komputasi, hanya dua nilai yang diizinkan: local | serverless, dengan `local` menunjukkan sumber daya instans saat ini.

V4.0.1 hingga V4.0.6

Sintaks SQL adalah sebagai berikut:

refresh dynamic table [<schema_name>.]<table_name> with([computing_resource='local' | 'serverless' ,]);
Catatan
  • Untuk instans compute group, Anda dapat menyetel parameter ke local atau serverless. Resource local merujuk pada warehouse leader dari TG tabel dasar dan warehouse leader dari TG tabel dinamis. Beberapa warehouse mungkin digunakan.

  • Untuk instans non-compute group, Anda hanya dapat menyetel parameter ke local atau serverless. local merujuk pada resource dari instans saat ini.

V3.1 hingga V3.2

Sintaks SQL adalah sebagai berikut:

refresh dynamic table [<schema_name>.]<table_name> with([computing_resource='local' | 'serverless' ,]);
Catatan
  • Untuk instans compute group, Anda dapat menyetel parameter ke local atau serverless. Resource local merujuk pada warehouse leader dari TG tabel dasar dan warehouse leader dari TG tabel dinamis. Beberapa warehouse mungkin digunakan.

  • Untuk instans non-compute group, Anda hanya dapat menyetel parameter ke local atau serverless. local merujuk pada resource dari instans saat ini.

V3.0

Sintaks SQL adalah sebagai berikut:

refresh dynamic table [<schema_name>.]<table_name> with(
       [incremental_guc_hg_computing_resource='[ local | serverless]',]
      [full_guc_hg_computing_resource='[ local | serverless]',]);
Catatan
  • Untuk instans compute group, Anda dapat menyetel parameter ke local atau serverless. Resource local merujuk pada warehouse leader dari TG tabel dinamis.

  • Untuk instans non-compute group, Anda hanya dapat menyetel parameter ke local atau serverless. local merujuk pada resource dari instans saat ini.

Catatan peningkatan

Tabel berikut menjelaskan bagaimana peningkatan instans Hologres memengaruhi tabel dinamis dalam skenario auto-refresh dan refresh manual. Perubahan mencakup resource refresh default, misalnya dari Local ke Serverless, serta aturan untuk menentukan resource. Perbedaan utama terletak pada perilaku tabel yang dibuat menggunakan sintaks baru versus lama. Gunakan tabel ini untuk memahami dampak potensial dari peningkatan dan memastikan transisi bisnis yang lancar.

  • Penyegaran otomatis peningkatan sumber daya

    Versi sumber

    Versi target

    Jenis tabel

    Refresh Mode

    Resource refresh

    Instans tanpa compute group

    Instans dengan compute group

    3.0

    • 3.1

    • 3.2

    • 4.0.1-4.0.6

    Dynamic Table

    Incremental & full refresh

    Tabel baru (menggunakan sintaks baru):

    • Resource default berubah dari Local ke Serverless.

    • Anda dapat menyetel resource refresh ke Local.

    Tabel lama (sintaks 3.0):

    • Resource default tetap Local.

    • Anda dapat mengubah resource refresh ke Serverless.

    Tabel baru (menggunakan sintaks baru):

    • Resource default berubah dari Local ke Serverless.

    • Anda dapat menyetel resource refresh ke Local. Refresh kemudian dieksekusi oleh warehouse leader dari kelompok tabel (TG) untuk tabel dasar dan warehouse leader dari TG untuk tabel dinamis. Proses ini mungkin melibatkan beberapa warehouse.

    Tabel lama (menggunakan sintaks lama 3.0):

    • Resource default tetap Local. Secara default, refresh dieksekusi oleh warehouse leader dari TG tabel dinamis. Menentukan warehouse_name tidak didukung.

    • Anda dapat mengubah resource refresh ke Serverless.

    • Setelah sintaks tabel lama diperbarui ke sintaks baru, jika Anda menggunakan resource local, warehouse yang mengeksekusi berubah. Perubahan tersebut dari warehouse leader dari TG tabel dinamis menjadi warehouse leader dari TG tabel dasar dan warehouse leader dari TG tabel dinamis. Proses ini mungkin melibatkan beberapa warehouse.

    3.0

    4.0.7 dan yang lebih baru

    Dynamic Table

    Incremental & full refresh

    Tabel baru (menggunakan sintaks baru):

    • Resource default berubah dari Local ke Serverless.

    • Anda dapat menyetel resource refresh ke Local.

    Tabel lama (menggunakan sintaks V3.0):

    • Resource default tetap Local.

    • Anda dapat mengubah resource refresh ke Serverless.

    Tabel baru (menggunakan sintaks baru):

    • Resource default berubah dari Local ke Serverless.

    • Anda dapat menentukan warehouse_name untuk mengeksekusi refresh.

    • Jika Anda menyetel resource refresh ke Local tetapi tidak secara eksplisit menentukan warehouse_name, sistem menggunakan warehouse yang terhubung saat Tabel Dinamis dibuat untuk mengeksekusi refresh secara default.

    Tabel lama (menggunakan sintaks lama 3.0):

    • Resource default tetap Local. Secara default, refresh dieksekusi oleh warehouse leader dari TG tabel dinamis. Menentukan warehouse_name tidak didukung.

    • Anda dapat mengubah resource refresh ke Serverless.

    • Setelah sintaks tabel lama diperbarui ke sintaks baru, jika Anda menggunakan resource local, warehouse yang mengeksekusi tetap warehouse leader dari TG Tabel Dinamis.

    • 3.1

    • 3.2

    • 4.0.1-4.0.6

    4.0.7 dan yang lebih baru

    Dynamic Table

    Incremental & full refresh

    Tabel baru (menggunakan sintaks baru):

    • Resource default tetap Serverless.

    • Anda dapat menyetel resource refresh ke Local.

    Tabel yang menggunakan sintaks lama 3.0:

    • Resource default tetap Local.

    • Anda dapat mengubah resource refresh ke Serverless.

    Tabel baru (menggunakan sintaks baru):

    • Resource default tetap Serverless.

    • Anda dapat menentukan warehouse_name untuk mengeksekusi refresh.

    • Jika Anda menyetel resource refresh ke Local tetapi tidak secara eksplisit menentukan warehouse_name, sistem menggunakan warehouse yang sedang terhubung untuk mengeksekusi refresh secara default.

    Tabel yang menggunakan sintaks lama 3.0:

    • Resource default tetap Local. Secara default, refresh dieksekusi oleh warehouse leader dari TG Tabel Dinamis. Menentukan warehouse_name tidak didukung.

    • Anda dapat mengubah resource refresh ke Serverless.

    • Setelah sintaks tabel lama diperbarui ke sintaks baru, jika Anda menggunakan resource local, warehouse yang mengeksekusi berubah dari warehouse leader dari TG tabel dasar dan warehouse leader dari TG Tabel Dinamis menjadi warehouse leader dari TG Tabel Dinamis.

    4.0.1-4.0.6

    4.0.7 dan yang lebih baru

    External Dynamic Table

    Incremental & full refresh

    Tabel baru (menggunakan sintaks baru):

    • Resource default adalah Serverless.

    • Anda dapat menyetel resource refresh ke Local.

    Tabel baru (menggunakan sintaks baru):

    • Resource default tetap Serverless.

    • Anda dapat menentukan warehouse_name untuk mengeksekusi refresh.

    • Jika Anda menyetel resource refresh ke Local tetapi tidak secara eksplisit menentukan warehouse_name, sistem menggunakan warehouse yang sedang terhubung untuk mengeksekusi refresh secara default.

    Tabel lama (dibuat pada versi 4.0.1-4.0.6):

    • Resource default tetap Serverless.

    • Jika Anda menyetel resource refresh ke local, sistem menggunakan Default Warehouse instans secara default.

  • Peningkatan resource refresh manual

    Versi sumber

    Versi target

    Jenis tabel

    Refresh mode

    Resource refresh

    Instans tanpa compute group

    Instans dengan compute group

    3.0

    • 3.1

    • 3.2

    • 4.0.1-4.0.6

    Dynamic Table

    Incremental & full refresh

    • Jika tidak ada resource refresh yang ditentukan, resource yang ditetapkan dalam Data Definition Language (DDL) tabel digunakan secara default.

    • Anda dapat secara eksplisit menentukan resource refresh sebagai serverless atau local.

    • Resource refresh yang ditentukan secara eksplisit memiliki prioritas lebih tinggi.


    • Jika tidak ada resource refresh yang ditentukan, resource yang ditetapkan dalam DDL tabel digunakan secara default.

    • Anda dapat secara eksplisit menentukan resource refresh sebagai serverless atau local.

    • Untuk tabel yang dibuat dengan sintaks baru: Resource Local berubah dari warehouse leader dari TG Tabel Dinamis menjadi warehouse leader dari TG tabel dasar dan warehouse leader dari TG Tabel Dinamis. Proses ini mungkin melibatkan beberapa warehouse.

    • Untuk tabel yang masih menggunakan sintaks lama (sintaks V3.0): Resource Local merepresentasikan warehouse leader dari TG Tabel Dinamis.

    • Resource refresh yang ditentukan secara eksplisit memiliki prioritas lebih tinggi.

    3.0

    4.0.7 dan yang lebih baru

    Dynamic Table

    Incremental & full refresh

    • Jika tidak ada resource refresh yang ditentukan, resource yang ditetapkan dalam DDL tabel digunakan secara default.

    • Anda dapat secara eksplisit menentukan resource refresh sebagai serverless atau local.

    • Resource refresh yang ditentukan secara eksplisit memiliki prioritas lebih tinggi.

    • Jika tidak ada resource refresh yang ditentukan, resource yang ditetapkan dalam DDL tabel digunakan secara default.

    • Anda dapat secara eksplisit menentukan resource refresh sebagai serverless, local, atau warehouse_name.

    • Untuk tabel yang dibuat dengan sintaks baru: Resource Local berubah dari warehouse leader dari TG Tabel Dinamis menjadi warehouse yang sedang terhubung.

    • Untuk tabel yang masih menggunakan sintaks lama (sintaks V3.0): Resource Local merepresentasikan warehouse leader dari TG Tabel Dinamis.

    • Resource refresh yang ditentukan secara eksplisit memiliki prioritas lebih tinggi.

    • 3.1

    • 3.2

    • 4.0.1-4.0.6

    4.0.7 dan yang lebih baru

    Dynamic Table

    Incremental & full refresh

    • Jika tidak ada resource refresh yang ditentukan, resource yang ditetapkan dalam DDL tabel digunakan secara default.

    • Anda dapat secara eksplisit menentukan resource refresh sebagai serverless atau local.

    • Resource refresh yang ditentukan secara eksplisit memiliki prioritas lebih tinggi.

    • Jika tidak ada resource refresh yang ditentukan, resource yang ditetapkan dalam DDL tabel digunakan secara default.

    • Anda dapat secara eksplisit menentukan resource refresh sebagai serverless, local, atau warehouse_name.

    • Untuk tabel yang dibuat dengan sintaks baru: Resource Local berubah dari warehouse leader dari TG tabel dasar dan warehouse leader dari TG Tabel Dinamis menjadi warehouse yang sedang terhubung.

    • Untuk tabel yang masih menggunakan sintaks lama (sintaks V3.0): Resource Local merepresentasikan warehouse leader dari TG Tabel Dinamis.

    • Resource refresh yang ditentukan secara eksplisit memiliki prioritas lebih tinggi.

    4.0.1-4.0.6

    4.0.7 dan yang lebih baru

    External Dynamic Table

    Incremental & full refresh

    • Jika tidak ada resource refresh yang ditentukan, resource yang ditetapkan dalam DDL tabel digunakan secara default.

    • Anda dapat secara eksplisit menentukan resource refresh sebagai serverless atau local.

    • Resource refresh yang ditentukan secara eksplisit memiliki prioritas lebih tinggi.

    • Jika tidak ada resource refresh yang ditentukan, resource yang ditetapkan dalam DDL tabel digunakan secara default.

    • Tentukan secara eksplisit resource refresh sebagai serverless, local, atau warehouse_name.

    • Resource Local merepresentasikan warehouse yang sedang terhubung.

    • Resource refresh yang ditentukan secara eksplisit memiliki prioritas lebih tinggi.