All Products
Search
Document Center

ApsaraDB for SelectDB:Data lakehouse

Last Updated:Jun 07, 2026

Topik ini menjelaskan cara menggunakan fitur query terfederasi dari ApsaraDB for SelectDB untuk menjalankan analisis terfederasi pada sumber data eksternal seperti data lake, database, dan file remote.

Ikhtisar

ApsaraDB for SelectDB menyediakan fitur katalog data multi-sumber (juga dikenal sebagai Multi-Catalog atau Catalog) yang memungkinkan Anda terhubung ke sumber data eksternal seperti data lake dan database untuk analisis data yang sederhana dan cepat. Fitur ini menambahkan lapisan Catalog di atas hierarki metadata asli sehingga membentuk struktur metadata tiga tingkat: Catalog -> Database -> Tabel. Setiap Catalog dapat langsung dipetakan ke sumber data eksternal. Untuk informasi lebih lanjut mengenai sumber data eksternal yang didukung, lihat Analisis data lake dan Analisis database.

ApsaraDB for SelectDB juga menyediakan fitur fungsi bernilai tabel (TVF). Fitur ini memungkinkan Anda memetakan data file dari sistem penyimpanan remote umum, seperti Amazon S3 dan HDFS, ke tabel di ApsaraDB for SelectDB. Hal ini menyederhanakan analisis data file. Untuk informasi lebih lanjut, lihat Analisis file.

Fitur Catalog memperluas kemampuan ApsaraDB for SelectDB melampaui pengelolaan data internal. Fitur ini memungkinkan Anda mengintegrasikan dan mengkueri sumber data eksternal secara efisien, sehingga mendukung analisis data yang fleksibel dan komprehensif dari berbagai gudang data dan sistem penyimpanan.

Catatan

Jika sumber data eksternal dideploy di internet publik, Virtual Private Cloud (VPC) dari instans ApsaraDB for SelectDB Anda harus memiliki akses internet arah keluar. Untuk instruksi konfigurasi, lihat Bagaimana cara mengatasi masalah konektivitas jaringan antara instans ApsaraDB for SelectDB dan sumber data?.

Konsep dan operasi dasar

  • Internal Catalog

    Semua database dan tabel yang ada di ApsaraDB for SelectDB termasuk dalam Internal Catalog, yaitu katalog bawaan default yang tidak dapat dimodifikasi atau dihapus.

  • External Catalog

    Anda dapat membuat External Catalog dengan menggunakan perintah CREATE CATALOG. Setelah dibuat, Anda dapat melihat daftar Catalog dengan perintah SHOW CATALOGS atau melihat pernyataan pembuatan Catalog tertentu dengan perintah SHOW CREATE CATALOG <catalog_name>;.

  • Beralih Catalog

    Setelah Anda login ke ApsaraDB for SelectDB, Anda berada di Internal Catalog secara default. Anda kemudian dapat menggunakan perintah SWITCH untuk beralih antar Catalog, seperti pada contoh berikut.

    SWITCH internal;
    SWITCH hive_catalog;

    Setelah beralih, Anda dapat menggunakan perintah seperti SHOW DATABASES dan USE <db_name> untuk melihat dan beralih antar database dalam Catalog yang sesuai. ApsaraDB for SelectDB secara otomatis mengakses database dan tabel di sumber data eksternal melalui Catalog tersebut. Anda dapat melihat dan mengakses data di External Catalog sama seperti pada Internal Catalog. Saat ini, ApsaraDB for SelectDB hanya mendukung akses read-only ke data di External Catalog.

  • Menghapus Catalog

    Database dan tabel di External Catalog bersifat read-only. Namun, jika diperlukan, Anda dapat menghapus External Catalog dengan perintah DROP CATALOG <catalog_name>;. Internal Catalog tidak dapat dihapus.

    Catatan

    Operasi ini hanya menghapus informasi pemetaan Catalog dari ApsaraDB for SelectDB. Operasi ini tidak mengubah sumber data eksternal itu sendiri.

Pemetaan tipe kolom

Saat Anda membuat Catalog, ApsaraDB for SelectDB secara otomatis menyinkronkan database dan tabel dari sumber data eksternal. ApsaraDB for SelectDB kemudian memetakan tipe kolom sesuai dengan sumber data dan format tabel.

Untuk tipe data eksternal yang tidak dapat dipetakan ke tipe kolom ApsaraDB for SelectDB, seperti UNION dan INTERVAL, ApsaraDB for SelectDB memetakan kolom tersebut ke tipe UNSUPPORTED. Contoh berikut menunjukkan perilaku saat mengkueri kolom dengan tipe UNSUPPORTED:

-- Skema tabel yang disinkronkan:
k1 INT,
k2 INT,
k3 UNSUPPORTED,
k4 INT

-- Hasil kueri:
SELECT * FROM testtable;                // Error: Unsupported type 'UNSUPPORTED_TYPE' in '`k3`
SELECT * except(k3) FROM testtable;     // Kueri berhasil.
SELECT k1, k3 FROM testtable;           // Error: Unsupported type 'UNSUPPORTED_TYPE' in '`k3`
SELECT k1, k4 FROM testtable;           // Kueri berhasil.

Anda dapat melihat tipe data yang didukung oleh ApsaraDB for SelectDB dengan menjalankan SHOW DATA TYPES;. Untuk informasi tentang tipe data yang didukung oleh berbagai sumber data eksternal, lihat Analisis data lake dan Analisis database.

Pengelolaan izin

Secara default, ApsaraDB for SelectDB menggunakan fitur pengelolaan izinnya sendiri, yang diperluas hingga ke tingkat Catalog, untuk mengontrol akses ke database dan tabel di External Catalog. Untuk informasi lebih lanjut, lihat Pengelolaan izin pengguna.

Menentukan database

Anda dapat menentukan database mana saja yang akan disinkronkan dengan mengatur properti include_database_list dan exclude_database_list dalam konfigurasi Catalog.

  • include_database_list: Daftar database yang dipisahkan koma untuk disinkronkan. Nama database bersifat case-sensitive. Secara default, semua database disinkronkan.

  • exclude_database_list: Daftar database yang dipisahkan koma untuk dikecualikan dari sinkronisasi. Nama database bersifat case-sensitive. Secara default, properti ini kosong, artinya tidak ada database yang dikecualikan.

Penting
  • Jika suatu database dikonfigurasi di kedua properti include_database_list dan exclude_database_list, maka exclude_database_list memiliki prioritas lebih tinggi.

  • Saat terhubung ke sumber Java Database Connectivity (JDBC), Anda harus menggunakan kedua properti ini bersamaan dengan parameter only_specified_database. Untuk informasi lebih lanjut, lihat Sumber data JDBC.

Pembaruan metadata

Secara default, perubahan metadata di sumber data eksternal, seperti pembuatan atau penghapusan tabel, atau penambahan/penghapusan kolom, tidak disinkronkan secara otomatis ke ApsaraDB for SelectDB. Anda dapat merefresh metadata dengan salah satu cara berikut.

Penyegaran Manual

Refresh metadata secara manual dengan perintah REFRESH.

Sintaks

REFRESH CATALOG catalog_name;
REFRESH DATABASE [catalog_name.]database_name;
REFRESH TABLE [catalog_name.][database_name.]table_name;

Refresh Catalog juga meng-invalidate cache objek terkait, termasuk cache partisi, cache skema, dan cache file.

Contoh

  1. Refresh Catalog. Contoh:

    REFRESH CATALOG hive;
  2. Refresh database. Contoh:

    REFRESH DATABASE ctl.database1;
    REFRESH DATABASE database1;
  3. Refresh tabel. Contoh:

    REFRESH TABLE ctl.db.table1;
    REFRESH TABLE db.table1;
    REFRESH TABLE table1;

Refresh terjadwal

Saat membuat Catalog, Anda dapat mengaktifkan refresh terjadwal dengan menentukan parameter metadata_refresh_interval_sec dalam properti. Jika parameter ini ditetapkan saat pembuatan Catalog, node Frontend (FE) master akan secara berkala merefresh Catalog berdasarkan interval yang ditentukan. Saat ini, hanya tiga jenis sumber data yang mendukung refresh terjadwal:

  • HMS: Hive Metastore.

  • ES: Elasticsearch.

  • JDBC: Antarmuka standar untuk akses database (JDBC).

-- Atur interval refresh catalog menjadi 20 detik
CREATE CATALOG es PROPERTIES (
    "type"="es",
    "hosts"="http://127.0.0.1:9200",
    "metadata_refresh_interval_sec"="20"
);

Refresh otomatis

Saat ini, hanya event tertentu dari sumber data Hive yang memicu refresh Catalog secara otomatis. Untuk informasi lebih lanjut, lihat Sumber data Hive.