全部产品
Search
文档中心

Hologres:Akses data di OSS-HDFS

更新时间:Jul 02, 2025

Mulai Hologres V1.3.26, Anda dapat membaca dan menulis data ke OSS-HDFS. Topik ini menjelaskan cara menggunakan Data Lake Formation (DLF) untuk mengakses data di OSS-HDFS.

Informasi latar belakang

OSS-HDFS (JindoFS) adalah layanan penyimpanan danau data berbasis cloud-native yang terintegrasi dengan mesin komputasi dalam ekosistem Hadoop. Layanan ini memberikan kinerja lebih baik dibandingkan penyimpanan OSS asli dalam skenario ETL offline berbasis Hive dan Spark. Untuk informasi lebih lanjut tentang OSS-HDFS, lihat Apa itu OSS-HDFS? Di Hologres, Anda dapat menggunakan Data Lake Formation (DLF) untuk mengelola metadata data di OSS-HDFS. Anda juga dapat menggunakan JindoSDK untuk mengakses dan menulis data kembali ke OSS-HDFS. Fitur penulisan balik mendukung tabel dalam format ORC, Parquet, CSV, atau SequenceFile. Untuk informasi lebih lanjut tentang cara menggunakan DLF untuk membaca dan menulis data ke OSS, lihat Gunakan DLF untuk Membaca dan Menulis Data ke OSS.

Prasyarat

Prosedur

  1. Peroleh titik akhir bucket tempat OSS-HDFS diaktifkan.

    Anda perlu mengonfigurasi titik akhir bucket tempat OSS-HDFS diaktifkan di Hologres. Anda dapat memperoleh titik akhir di halaman Ikhtisar bucket di konsol OSS.Domain

  2. Buat server asing dan konfigurasikan informasi terkait.

    Penting

    Jika Anda ingin mengakses data dari beberapa lingkungan yang disimpan di OSS-HDFS, Anda perlu mengonfigurasi beberapa server asing. Misalnya, jika Anda ingin mengakses data di OSS-HDFS dan data di OSS, Anda perlu membuat server asing untuk tabel asing yang memetakan tabel di OSS-HDFS dan server asing untuk tabel di OSS. Untuk server asing OSS-HDFS, atur oss_endpoint ke titik akhir bucket tempat OSS-HDFS diaktifkan, dan tentukan server asing ini saat Anda membuat tabel asing dan mengimpor data ke tabel asing. Untuk server asing OSS, atur oss_endpoint ke titik akhir yang digunakan untuk mengakses OSS.

    Setelah Anda memperoleh titik akhir bucket, Anda dapat mengonfigurasi titik akhir DLF dan OSS di Hologres. Sintaks:

    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
    );

    Tabel berikut menjelaskan parameter dalam pernyataan sebelumnya.

    Parameter

    Deskripsi

    Contoh

    servername

    Nama server.

    dlf_server

    dlf_region

    ID wilayah tempat DLF berada.

    Untuk informasi lebih lanjut tentang wilayah tempat DLF didukung, lihat Wilayah dan titik akhir yang didukung.

    cn-beijing

    dlf_endpoint

    • Titik akhir DLF. Kami merekomendasikan Anda menggunakan titik akhir internal DLF untuk kinerja akses yang lebih baik. Untuk informasi lebih lanjut tentang wilayah tempat DLF didukung, lihat Wilayah dan titik akhir yang didukung.

    • Jika Anda ingin mengakses DLF lintas wilayah, Anda harus menggunakan titik akhir publik.

      Penting

      Akses melalui titik akhir publik akan dikenakan biaya jaringan dan overhead kinerja. Untuk informasi lebih lanjut tentang biaya jaringan, lihat Ikhtisar penagihan.

    dlf-share.cn-beijing.aliyuncs.com

    oss_endpoint

    Titik akhir bucket tempat OSS-HDFS diaktifkan, yang diperoleh di Langkah 1. Anda hanya dapat mengakses OSS-HDFS menggunakan titik akhir internal. Ini menunjukkan bahwa Anda tidak dapat mengakses OSS-HDFS lintas wilayah.

    Catatan

    Jika Anda menggunakan OSS asli, kami merekomendasikan Anda menggunakan titik akhir internal OSS untuk meningkatkan kinerja akses. Jika Anda ingin mengakses OSS dari Hologres atau DLF lintas wilayah, Anda harus menggunakan titik akhir publik. Untuk informasi lebih lanjut, lihat Gunakan titik akhir yang mendukung IPv6 untuk mengakses OSS.

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

    • Buat satu tabel asing. Buat tabel asing untuk memetakan tabel metadata bernama dlf_oss_test di metadatabase DLF bernama dlfpro. Tabel asing berada di skema public Hologres.

      -- Metode 1
      CREATE FOREIGN TABLE dlf_oss_test
      (
        id text,
        pt text
      )
      SERVER dlf_server -- Server asing 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 beberapa tabel asing sekaligus. Peta semua tabel di metadatabase DLF bernama dlfpro ke skema public Hologres untuk membuat beberapa tabel asing di Hologres. Tabel asing ini dinamai sesuai dengan tabel di metadatabase dlfpro di DLF.

      • Peta semua tabel metadata di metadatabase dlfpro.

        IMPORT FOREIGN SCHEMA dlfpro
        FROM SERVER dlf_server INTO public options (if_table_exist 'update');
      • Peta tabel metadata tertentu di metadatabase dlfpro.

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

    Setelah satu atau lebih tabel asing dibuat, Anda dapat mengkueri data di tabel asing ini untuk membaca data OSS. Tabel asing dapat dilihat di skema Hologres atau direktori skema tabel di konsol HoloWeb. Anda dapat menulis data kembali ke tabel asing dalam format CSV, Parquet, atau ORC.

    • Kueri data dari tabel non-partisi.

      SELECT * FROM dlf_oss_test;
    • Kueri data dari tabel partisi.

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

Untuk informasi lebih lanjut, lihat bagian "Prosedur" di Gunakan DLF untuk Membaca dan Menulis Data ke OSS.