All Products
Search
Document Center

Hologres:Akses data OSS-HDFS melalui DLF

Last Updated:Mar 11, 2026

Mulai versi V1.3.26, Hologres mendukung pembacaan dan penulisan data ke Object Storage Service (OSS)-HDFS. Topik ini menjelaskan cara menggunakan Data Lake Formation (DLF) untuk mengakses data di data lake OSS-HDFS.

Informasi latar belakang

OSS-HDFS (JindoFS) adalah layanan penyimpanan data lake cloud-native yang terintegrasi secara mulus dengan compute engine dalam ekosistem Hadoop. Dibandingkan dengan OSS native, OSS-HDFS menawarkan kinerja lebih baik dalam skenario extract, transform, and load (ETL) offline khas, seperti yang menggunakan Hive dan Spark. Untuk informasi selengkapnya tentang OSS-HDFS, lihat Apa itu layanan OSS-HDFS?. Untuk data yang disimpan di OSS-HDFS, Hologres menggunakan DLF untuk manajemen metadata dan JindoSDK untuk akses data langsung serta write-back. Saat ini, write-back hanya didukung untuk tabel dalam format ORC, Parquet, CSV, dan SequenceFile. Untuk informasi selengkapnya tentang cara membaca dan menulis data ke OSS menggunakan DLF, lihat Percepat akses ke data lake OSS menggunakan DLF.

Prasyarat

Catatan penggunaan

  1. Temukan nama domain bucket OSS-HDFS.

    Anda harus mengonfigurasi nama domain layanan OSS-HDFS di Hologres. Nama domain tersebut dapat ditemukan pada halaman Overview bucket di Konsol OSS, dengan syarat layanan OSS-HDFS telah diaktifkan untuk bucket tersebut.

    image

  2. Buat dan konfigurasikan foreign server.

    Penting

    Untuk mengakses data dari beberapa lingkungan OSS-HDFS sekaligus, Anda harus mengonfigurasi beberapa foreign server. Misalnya, untuk mengakses tabel eksternal yang disimpan di OSS-HDFS, buatlah foreign server terpisah dan atur parameter oss_endpoint ke titik akhir OSS-HDFS. Foreign server ini harus ditentukan saat Anda mengimpor atau membuat tabel eksternal. Demikian pula, untuk mengakses tabel data yang disimpan di OSS, Anda harus membuat foreign server terpisah dan mengonfigurasi nama domain OSS yang sesuai.

    Setelah menemukan nama domain bucket, Anda dapat mengonfigurasi titik akhir DLF dan OSS di Hologres. Sintaksnya sebagai berikut:

    CREATE EXTENSION IF NOT EXISTS dlf_fdw;
    
    CREATE SERVER IF NOT EXISTS <servername> FOREIGN data wrapper dlf_fdw options (
        dlf_region 'cn-<region>',
        dlf_endpoint 'dlf-share.cn-<region>.aliyuncs.com',
        oss_endpoint '<bucket_name>.cn-<region>.oss-dls.aliyuncs.com' -- Nama domain bucket OSS-HDFS
    );

    Penjelasan parameter:

    Nama Parameter

    Deskripsi

    Contoh

    servername

    Nama kustom untuk server.

    dlf_server

    dlf_region

    Wilayah tempat DLF berada. Pilih wilayah sesuai kebutuhan.

    Untuk daftar wilayah yang didukung, lihat Wilayah dan titik akhir.

    cn-beijing

    dlf_endpoint

    • Gunakan titik akhir layanan pribadi DLF untuk kinerja akses yang lebih baik. Untuk daftar wilayah yang didukung, lihat Wilayah dan titik akhir.

    • Untuk mengakses data lintas wilayah, gunakan titik akhir publik.

      Penting

      Titik akhir publik dikenai biaya jaringan dan dapat mengurangi kinerja. Untuk informasi selengkapnya tentang biaya jaringan, lihat Ikhtisar penagihan.

    dlf-share.cn-beijing.aliyuncs.com

    oss_endpoint

    Titik akhir OSS-HDFS yang Anda temukan pada Langkah 1. OSS-HDFS saat ini hanya mendukung akses jaringan pribadi. Artinya, akses cross-region tidak didukung secara default.

    Catatan

    Untuk penyimpanan OSS native, gunakan titik akhir pribadi OSS untuk kinerja akses yang lebih baik. Untuk berinteraksi dengan Hologres dan DLF lintas wilayah, gunakan titik akhir publik. Untuk informasi selengkapnya, lihat Akses OSS melalui IPv6.

    bucket_nametest.cn-hangzhou.oss-dls.aliyuncs.com
  3. Buat tabel eksternal untuk membaca dan menulis data ke OSS-HDFS.

    • Buat satu tabel: Anda dapat membuat tabel eksternal untuk memetakan tabel metadata `dlf_oss_test` di metadatabase `dlfpro` DLF. Tabel eksternal tersebut dibuat di skema `public` Hologres.

      -- Metode 1
      CREATE FOREIGN TABLE dlf_oss_test
      (
        id text,
        pt text
      )
      SERVER dlf_server -- Foreign server yang dibuat
      options
      (
        schema_name 'dlfpro',
        table_name 'dlf_oss_test'
      );
      
      
      -- Metode 2:
      IMPORT FOREIGN SCHEMA dlfpro LIMIT TO
      (
        dlf_oss_test
      )
      FROM SERVER dlf_server INTO public options (if_table_exist 'update');
    • Buat tabel secara batch: Anda dapat memetakan semua tabel dari metadatabase `dlfpro` di DLF ke skema `public` di Hologres. Operasi ini akan membuat tabel eksternal yang sesuai di Hologres secara batch.

      • Impor seluruh database:

        IMPORT FOREIGN SCHEMA dlfpro
        FROM SERVER dlf_server INTO public options (if_table_exist 'update');
      • Impor beberapa tabel:

        IMPORT FOREIGN SCHEMA dlfpro
        (
          table1,
          table2,
          tablen
        )
        FROM SERVER dlf_server INTO public options (if_table_exist 'update');
  4. Lakukan kueri data.

    Setelah membuat tabel eksternal, Anda dapat melihatnya di skema yang sesuai di Hologres atau di folder skema tabel di HoloWeb. Anda dapat melakukan kueri pada tabel eksternal untuk membaca data dari OSS, serta menulis kembali data ke tabel eksternal yang berformat CSV, Parquet, atau ORC.

    • Kueri tabel non-partisi

      SELECT * FROM dlf_oss_test;
    • Kueri tabel partisi

      SELECT * FROM <partition_table> where dt = '2013';

Untuk informasi selengkapnya tentang prosedurnya, lihat Prosedur.