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
DLF telah diaktifkan. Untuk informasi lebih lanjut, lihat Memulai Cepat. Untuk informasi lebih lanjut tentang wilayah tempat DLF didukung, lihat Wilayah dan Titik Akhir yang Didukung.
OSS-HDFS telah diaktifkan dan data telah disiapkan. Untuk informasi lebih lanjut, lihat Aktifkan OSS-HDFS dan Berikan Izin Akses.
Akselerasi danau data telah diaktifkan untuk instance Hologres Anda. Untuk informasi lebih lanjut, lihat Konfigurasikan Lingkungan.
Prosedur
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.

Buat server asing dan konfigurasikan informasi terkait.
PentingJika 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.
PentingAkses 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.comoss_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.
CatatanJika 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.comBuat 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');
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.