全部产品
Search
文档中心

Hologres:Percepat kueri data lake

更新时间:Feb 04, 2026

Layanan akselerasi data lake Hologres dibangun di atas Alibaba Cloud Data Lake Formation (DLF) dan Object Storage Service (OSS), menyediakan akses data yang fleksibel, analitik canggih, serta pemrosesan data efisien untuk mempercepat secara signifikan kueri dan analisis data lake OSS.

Informasi latar belakang

Seiring percepatan transformasi digital, volume data meningkat pesat, menimbulkan tantangan besar bagi analitik data tradisional dalam hal biaya, skala, dan keragaman data. Hologres, bekerja sama dengan DLF dan OSS, menawarkan arsitektur danau data terpadu (data lakehouse) untuk akselerasi data lake. Arsitektur ini membantu bisnis mencapai penyimpanan berbiaya rendah untuk data dalam jumlah besar, manajemen metadata terpadu, serta analitik dan wawasan data yang efisien.

Hologres terintegrasi secara mulus dengan DLF dan OSS. Dengan menggunakan tabel eksternal (foreign tables), Anda dapat langsung mempercepat operasi baca dan tulis pada data dalam format seperti Hudi, Delta, Paimon, ORC, Parquet, CSV, dan SequenceFile yang disimpan di OSS tanpa memindahkan datanya. Tabel eksternal hanya memetakan bidang (fields) dan tidak menyimpan data, sehingga mengurangi biaya pengembangan dan operasi, menghilangkan silodata, serta memungkinkan wawasan bisnis. Hologres mendukung dua mode: instans khusus (sumber daya eksklusif) dan kluster Serverless bersama (pay-as-you-go). Untuk informasi lebih lanjut, lihat Beli instans Hologres.

Tabel berikut menjelaskan layanan Alibaba Cloud yang terlibat dalam solusi data lake real-time.

Service

Description

Related links

Alibaba Cloud Data Lake Formation (DLF)

Layanan terkelola penuh yang membantu Anda membangun data lake dan lakehouse di cloud dengan cepat. DLF menyediakan manajemen metadata terpadu, manajemen izin dan keamanan terpadu, ingesti data yang mudah, serta eksplorasi data satu klik untuk data lake di cloud.

Pengenalan Produk DLF

Alibaba Cloud Object Storage Service (OSS)

DLF menggunakan OSS sebagai penyimpanan terpadu untuk data lake di cloud. OSS adalah layanan penyimpanan cloud yang masif, aman, berbiaya rendah, dan sangat andal, cocok untuk menyimpan file jenis apa pun. OSS menyediakan ketahanan data 99,9999999999% (dua belas angka 9) dan telah menjadi standar de facto untuk penyimpanan data lake.

Apa itu Object Storage Service (OSS)?

Layanan OSS-HDFS, juga dikenal sebagai JindoFS, adalah solusi penyimpanan data lake cloud-native. Dibandingkan dengan penyimpanan OSS native, OSS-HDFS terintegrasi secara mulus dengan mesin komputasi ekosistem Hadoop dan menunjukkan performa lebih baik dalam skenario extract, transform, and load (ETL) offline khas yang menggunakan Hive dan Spark. Layanan ini sepenuhnya kompatibel dengan antarmuka Hadoop Distributed File System (HDFS) dan menyediakan dukungan POSIX lengkap, sehingga lebih memenuhi kebutuhan skenario komputasi data lake dalam data besar dan AI.

Apa itu layanan OSS-HDFS?

Catatan

Kluster bersama Hologres tidak menyimpan data. Kluster tersebut hanya mendukung kueri data lake OSS menggunakan tabel eksternal.

Persiapan

Topik ini menggunakan wilayah China (Shanghai) sebagai contoh untuk menunjukkan cara mengaktifkan OSS, DLF, dan Hologres.

  1. Aktifkan OSS dan siapkan data uji.

    1. Buka halaman aktivasi OSS dan ikuti petunjuk di layar untuk mengaktifkan layanan.

      Catatan

      Setelah Anda mengaktifkan layanan OSS, metode penagihan default-nya adalah pay-as-you-go. Untuk menekan biaya penggunaan OSS, kami menyarankan Anda membeli paket sumber daya.

    2. Masuk ke Konsol OSS dan buat bucket. Untuk informasi selengkapnya, lihat Mulai cepat di konsol.

    3. Unggah data uji tpch_10g_orc_3.zip ke folder dalam bucket.image.png

      Catatan
      • Setelah mengunggah file data uji, hapus secara manual file seperti .DS_Store.

      • Untuk unduhan lebih cepat, paket ini hanya berisi tabel data nation_orc, supplier_orc, dan partsupp_orc yang diperlukan dalam topik ini.

  2. Aktifkan DLF dan impor data uji OSS.

    1. Buka halaman aktivasi DLF.

    2. Masuk ke Konsol Data Lake Formation. Pada halaman Metadata Management, klik Create Database. Untuk informasi selengkapnya, lihat Database, tabel, dan fungsi.

      Topik ini menggunakan contoh pembuatan database bernama mydatabase.

    3. Di halaman Metadata Crawling, buat pekerjaan crawling metadata untuk mengimpor data uji OSS. Untuk informasi selengkapnya, lihat Metadata crawling.

      Setelah pekerjaan selesai, Anda dapat melihat data di tab Tables pada halaman Metadata Management.

      image.png

  3. Aktifkan Hologres dan beli instans Hologres. Untuk informasi selengkapnya, lihat Beli instans Hologres.

    Catatan

    Jika Anda pengguna baru, Anda dapat mengajukan uji coba gratis Hologres di halaman Uji Coba Gratis Alibaba Cloud.

Langkah 1: Konfigurasikan lingkungan

  1. Aktifkan fitur akselerasi data lake untuk instans Hologres Anda.

    Buka daftar instans Hologres. Pada kolom Actions instans target, klik Data Lake Acceleration, lalu konfirmasi aksi tersebut. Instans Hologres akan dimulai ulang setelah fitur ini diaktifkan.

  2. Masuk ke instans Hologres dan buat database. Untuk informasi selengkapnya, lihat Hubungkan ke HoloWeb dan jalankan kueri.

  3. (Opsional) Buat ekstensi. Topik ini menggunakan dlf_fdw sebagai contoh.

    Catatan

    Ekstensi ini dibuat secara default di Hologres V2.1 dan versi yang lebih baru, sehingga Anda tidak perlu melakukan operasi ini. Anda dapat membuka daftar instans Hologres dan memeriksa versi instans Anda di halaman Instance Details.

    CREATE EXTENSION IF NOT EXISTS dlf_fdw;
    Catatan

    Jalankan pernyataan di atas sebagai superuser di SQL Editor di HoloWeb untuk membuat ekstensi. Operasi ini berlaku untuk seluruh database dan hanya perlu dilakukan sekali untuk setiap database. Untuk informasi selengkapnya tentang cara memberikan izin kepada akun Hologres, lihat Berikan izin kepada akun layanan.

  4. Jalankan pernyataan berikut untuk membuat server eksternal bernama dlf_server dan konfigurasikan informasi titik akhirnya. Hal ini memastikan akses normal antara Hologres, DLF, dan OSS. Untuk informasi selengkapnya tentang cara membuat server eksternal dan parameternya, lihat Buat server eksternal.

    -- Buat server eksternal. Wilayah China (Shanghai) digunakan sebagai contoh.
    CREATE SERVER IF NOT EXISTS dlf_server FOREIGN data wrapper dlf_fdw options (
        dlf_region 'cn-shanghai',
        dlf_endpoint 'dlf-share.cn-shanghai.aliyuncs.com',
        oss_endpoint 'oss-cn-shanghai-internal.aliyuncs.com');

Langkah 2: Kueri data lake OSS menggunakan tabel eksternal Hologres

Tabel eksternal Hologres menyimpan pemetaan ke data di data lake OSS. Data tersebut sendiri disimpan di data lake OSS dan tidak menggunakan ruang penyimpanan Hologres. Performa kueri biasanya dalam rentang detik hingga menit.

  1. Buat tabel eksternal Hologres dan petakan data data lake OSS ke dalamnya.

    -- Topik ini menggunakan mydatabase sebagai contoh. Saat membuat skema, ganti mydatabase dengan nama database kustom Anda di DLF Metadata Management.
    IMPORT FOREIGN SCHEMA mydatabase LIMIT TO 
    (
      nation_orc,
      supplier_orc,
      partsupp_orc
    )
    FROM SERVER dlf_server INTO public options (if_table_exist 'update');
  2. Kueri data tersebut.

    Setelah tabel eksternal dibuat, Anda dapat langsung mengkuerinya untuk membaca data dari OSS. Berikut adalah contoh pernyataan.

    -- Pernyataan kueri TPCH Q11
    select
            ps_partkey,
            sum(ps_supplycost * ps_availqty) as value
    from
            partsupp_orc,
            supplier_orc,
            nation_orc
    where
            ps_suppkey = s_suppkey
            and s_nationkey = n_nationkey
            and RTRIM(n_name) = 'EGYPT'
    group by
            ps_partkey having
                    sum(ps_supplycost * ps_availqty) > (
                            select
                                    sum(ps_supplycost * ps_availqty) * 0.000001
                            from
                                    partsupp_orc,
                                    supplier_orc,
                                    nation_orc
                            where
                                    ps_suppkey = s_suppkey
                                    and s_nationkey = n_nationkey
                                    and RTRIM(n_name) = 'EGYPT'
                    )
    order by
            value desc;

Langkah 3: (Opsional) Kueri data lake OSS menggunakan tabel internal Hologres

Untuk mengkueri data menggunakan tabel internal Hologres, Anda harus mengimpor data dari data lake OSS ke Hologres. Data tersebut disimpan di Hologres, yang memberikan performa kueri lebih baik dan kemampuan pemrosesan data lebih tinggi. Untuk informasi selengkapnya tentang biaya penyimpanan, lihat Ikhtisar penagihan.

  1. Di Hologres, buat tabel internal yang memiliki skema sama dengan tabel eksternal. Berikut adalah contohnya.

    -- Buat tabel nation
    DROP TABLE IF EXISTS NATION;
    
    BEGIN;
    CREATE TABLE NATION (
        N_NATIONKEY int NOT NULL PRIMARY KEY,
        N_NAME text NOT NULL,
        N_REGIONKEY int NOT NULL,
        N_COMMENT text NOT NULL
    );
    CALL set_table_property ('NATION', 'distribution_key', 'N_NATIONKEY');
    CALL set_table_property ('NATION', 'bitmap_columns', '');
    CALL set_table_property ('NATION', 'dictionary_encoding_columns', '');
    COMMIT;
    
    -- Buat tabel supplier
    DROP TABLE IF EXISTS SUPPLIER;
    
    BEGIN;
    CREATE TABLE SUPPLIER (
        S_SUPPKEY int NOT NULL PRIMARY KEY,
        S_NAME text NOT NULL,
        S_ADDRESS text NOT NULL,
        S_NATIONKEY int NOT NULL,
        S_PHONE text NOT NULL,
        S_ACCTBAL DECIMAL(15, 2) NOT NULL,
        S_COMMENT text NOT NULL
    );
    CALL set_table_property ('SUPPLIER', 'distribution_key', 'S_SUPPKEY');
    CALL set_table_property ('SUPPLIER', 'bitmap_columns', 'S_NATIONKEY');
    CALL set_table_property ('SUPPLIER', 'dictionary_encoding_columns', '');
    COMMIT;
    
    -- Buat tabel partsupp
    DROP TABLE IF EXISTS PARTSUPP;
    
    BEGIN;
    CREATE TABLE PARTSUPP (
        PS_PARTKEY int NOT NULL,
        PS_SUPPKEY int NOT NULL,
        PS_AVAILQTY int NOT NULL,
        PS_SUPPLYCOST DECIMAL(15, 2) NOT NULL,
        PS_COMMENT text NOT NULL,
        PRIMARY KEY (PS_PARTKEY, PS_SUPPKEY)
    );
    CALL set_table_property ('PARTSUPP', 'distribution_key', 'PS_PARTKEY');
    CALL set_table_property ('PARTSUPP', 'bitmap_columns', 'ps_availqty');
    CALL set_table_property ('PARTSUPP', 'dictionary_encoding_columns', '');
    COMMIT;
  2. Sinkronkan data dari tabel eksternal Hologres ke tabel internal Hologres.

    --- Impor data dari tabel eksternal Hologres ke tabel internal.
    INSERT INTO nation SELECT * FROM nation_orc;
    INSERT INTO supplier SELECT * FROM supplier_orc;
    INSERT INTO partsupp SELECT * FROM partsupp_orc;
  3. Kueri data di tabel internal Hologres.

    -- Pernyataan kueri TPCH Q11
    select
            ps_partkey,
            sum(ps_supplycost * ps_availqty) as value
    from
            partsupp,
            supplier,
            nation
    where
            ps_suppkey = s_suppkey
            and s_nationkey = n_nationkey
            and RTRIM(n_name) = 'EGYPT'
    group by
            ps_partkey having
                    sum(ps_supplycost * ps_availqty) > (
                            select
                                    sum(ps_supplycost * ps_availqty) * 0.000001
                            from
                                    partsupp,
                                    supplier,
                                    nation
                            where
                                    ps_suppkey = s_suppkey
                                    and s_nationkey = n_nationkey
                                    and RTRIM(n_name) = 'EGYPT'
                    )
    order by
            value desc;

FAQ

Saat saya membuat tabel eksternal Hologres, muncul pesan error ERROR: babysitter not ready,req:name:"HiveAccess".

  • Penyebab: Fitur akselerasi data lake belum diaktifkan.

  • Solusi: Buka daftar instans Hologres. Di kolom Actions instans target, klik Data Lake Acceleration dan konfirmasi tindakan tersebut untuk mengaktifkan fitur ini.

Referensi

Konten di atas memberikan contoh tutorial. Untuk deskripsi lengkap fitur data lake, lihat Percepat akses ke data lake OSS berdasarkan DLF.