全部产品
Search
文档中心

Hologres:Akses tabel Delta MaxCompute dari Hologres

更新时间:Jul 02, 2025

Topik ini menjelaskan cara mengakses tabel Delta MaxCompute dari Hologres.

Pengenalan

Mulai Hologres V3.0.38, Anda dapat membaca data dari tabel Delta MaxCompute. Tabel Delta adalah tabel data inkremental yang didukung oleh MaxCompute. Fitur ini mendukung impor data dalam hitungan menit, menggunakan format file AliORC di lapisan bawah, mendukung semantik UPSERT, serta memungkinkan pembacaan dan penulisan data inkremental dalam format Change Data Capture (CDC). Untuk informasi lebih lanjut, lihat Konsep dasar.

Prasyarat

Catatan penggunaan

  • Hologres hanya mengizinkan pembacaan snapshot terbaru dari tabel Delta MaxCompute.

  • Data tidak dapat ditulis kembali ke tabel Delta MaxCompute dari Hologres.

  • Untuk mengakses tabel Delta MaxCompute, parameter GUC harus dikonfigurasi. Kami merekomendasikan menjalankan perintah berikut pada tingkat sesi bersama dengan Pernyataan SQL yang digunakan untuk menanyakan tabel Delta MaxCompute:

    SET hg_experimental_external_catalog_routing = 'odps:common_table';

Gunakan tabel Delta MaxCompute

Buat tabel Delta di sisi MaxCompute

Gunakan salah satu metode berikut untuk membuat tabel:

  • Tambahkan sumber data MaxCompute di konsol DataWorks, lalu buat tabel. Untuk informasi lebih lanjut, lihat DataWorks.

  • Gunakan klien MaxCompute untuk membuat tabel. Untuk informasi lebih lanjut, lihat Gunakan klien MaxCompute.

Contoh Pernyataan SQL:

CREATE TABLE IF NOT EXISTS mf_dt (pk BIGINT NOT NULL PRIMARY KEY, 
                  val BIGINT NOT NULL) 
                  PARTITIONED BY (dd STRING, hh STRING) 
                  tblproperties ("transactional"="true");

Tulis data ke tabel Delta di sisi MaxCompute

Gunakan salah satu metode berikut untuk menulis data ke tabel Delta di sisi MaxCompute:

Contoh pernyataan SQL untuk menulis data secara batch:

-- Jalankan pernyataan INSERT INTO untuk menambahkan data ke partisi tertentu di tabel mf_dt.
INSERT INTO TABLE mf_dt PARTITION(dd='01', hh='01') 
            VALUES (3, 30), (4, 4), (5, 5);

-- Masukkan data uji ke dalam partisi yang memenuhi kondisi dd='01' dan hh='01' di tabel mf_dt.
INSERT OVERWRITE TABLE mf_dt PARTITION (dd='01', hh='01') 
                 VALUES (1, 1), (2, 2), (3, 3);

Buat pemetaan sumber data eksternal di sisi Hologres

Gunakan salah satu metode berikut untuk membuat pemetaan sumber data eksternal di sisi Hologres:

Contoh pernyataan CREATE EXTERNAL DATABASE:

CREATE EXTERNAL DATABASE ext_database_mc WITH 
  metastore_type 'maxcompute'
  mc_project 'mc_3_layer_project' 
  comment 'proyek tiga lapis mc';
  • Kueri semua skema dalam database eksternal.

    SELECT * FROM hologres.hg_external_schemas('ext_database_mc');
  • Kueri semua tabel dalam mode default di database eksternal.

    SELECT * FROM hologres.hg_external_tables('ext_database_mc', 'default');

Kueri data dari tabel Delta di sisi Hologres

Untuk menanyakan data dari tabel Delta di sisi Hologres, jalankan pernyataan SQL berikut:

SET hg_experimental_external_catalog_routing = 'odps:common_table';
SELECT * FROM ext_database_mc.mc_schema_name.mf_dt;