Layanan akselerasi data lake Hologres, yang dibangun di atas Alibaba Cloud Data Lake Formation (DLF) dan Object Storage Service (OSS), menawarkan akses data yang fleksibel, analitik, serta pemrosesan data yang efisien. Layanan ini secara signifikan mempercepat kueri dan analisis data dalam data lake OSS Anda.
Informasi latar belakang
Seiring bisnis memperdalam transformasi digitalnya, volume data terus meningkat pesat, menciptakan tantangan bagi analitik data tradisional dalam hal biaya, skala, dan keragaman data. Hologres, yang dikombinasikan dengan DLF dan OSS, menyediakan layanan akselerasi data lake berbasis arsitektur lakehouse. Arsitektur ini memungkinkan penyimpanan berbiaya rendah untuk set data dalam jumlah besar, manajemen metadata terpadu, serta analisis 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 yang disimpan di OSS dalam format seperti Hudi, Delta, Paimon, ORC, Parquet, CSV, dan SequenceFile—tanpa perlu memindahkan datanya. Tabel eksternal hanya memetakan kolom dan tidak menyimpan data itu sendiri. Pendekatan ini mengurangi biaya pengembangan dan O&M, menghilangkan silodata, serta memungkinkan wawasan bisnis yang lebih cepat. Hologres mendukung dua mode: klaster khusus (sumber daya eksklusif) dan klaster bersama Serverless (pay-as-you-go). Untuk informasi selengkapnya, lihat Beli instans Hologres.
Tabel berikut mencantumkan layanan Alibaba Cloud yang digunakan dalam solusi data lake real-time.
|
Service |
Description |
Related links |
|
Data Lake Formation (DLF) |
Layanan fully managed yang membantu Anda membangun data lake dan arsitektur lakehouse di cloud dengan cepat. Layanan ini menyediakan manajemen metadata terpadu, manajemen izin dan keamanan terpadu, ingesti data yang mudah, serta kemampuan eksplorasi data satu klik. |
|
|
Object Storage Service (OSS) |
DLF menggunakan OSS sebagai penyimpanan terpadu untuk data lake berbasis cloud. OSS adalah layanan penyimpanan cloud yang aman, hemat biaya, dan sangat andal yang mampu menyimpan data dalam jumlah besar dari berbagai jenis. Layanan ini menawarkan ketahanan data 99,9999999999% (dua belas angka 9) dan telah menjadi standar de facto untuk penyimpanan data lake. |
|
|
Layanan OSS-HDFS, juga dikenal sebagai JindoFS, adalah solusi penyimpanan data lake cloud-native. Dibandingkan dengan penyimpanan OSS native, layanan OSS-HDFS terintegrasi secara mulus dengan mesin komputasi dalam ekosistem Hadoop dan memberikan kinerja lebih baik dalam skenario ETL offline khas yang menggunakan Hive dan Spark. Layanan ini sepenuhnya kompatibel dengan antarmuka sistem file HDFS dan menyediakan dukungan POSIX lengkap, sehingga ideal untuk komputasi data lake dalam skenario data besar dan AI. |
Catatan
Klaster bersama Hologres tidak menyimpan data dan hanya dapat mengkueri data lake OSS melalui tabel eksternal.
Prasyarat
Topik ini menjelaskan cara mengaktifkan layanan OSS, DLF, dan Hologres, dengan menggunakan wilayah China (Shanghai) sebagai contoh.
-
Aktifkan OSS dan siapkan data uji.
-
Buka halaman aktivasi OSS dan ikuti petunjuk di layar untuk mengaktifkan layanan tersebut.
CatatanSetelah Anda mengaktifkan OSS, metode penagihan default-nya adalah pay-as-you-go. Untuk mengurangi biaya OSS, kami menyarankan Anda membeli paket sumber daya.
-
Masuk ke Konsol OSS dan buat bucket. Untuk informasi selengkapnya, lihat Panduan Cepat Konsol.
-
Unduh dan unggah data uji tpch_10g_orc_3.zip ke direktori
tpch_10g_orc_3/di bucket Anda.Catatan-
Setelah Anda mengunggah file data uji, hapus secara manual file seperti
.DS_Storejika ada. -
Untuk unduhan lebih cepat, paket ini hanya berisi tabel
nation_orc,supplier_orc, danpartsupp_orcyang diperlukan untuk topik ini.
-
-
-
Aktifkan DLF dan impor data uji OSS.
-
Navigasikan ke atau halaman aktivasi DLF.
-
Masuk ke Konsol DLF. Di halaman Metadata Management, klik Create Database. Untuk informasi selengkapnya, lihat Kelola database, tabel, dan fungsi.
Topik ini memberikan contoh pembuatan database
mydatabase. -
Di halaman Metadata Discovery, buat pekerjaan penemuan metadata untuk mengimpor data uji OSS. Untuk informasi selengkapnya, lihat Penemuan Metadata.
Setelah pekerjaan selesai, tabel-tabel tersebut akan muncul di tab Data Tables pada halaman Metadata Management.
Daftar tabel data menampilkan tiga tabel ORC: nation_orc, partsupp_orc, dan supplier_orc.
-
-
Aktifkan Hologres dan beli instans Hologres. Untuk informasi selengkapnya, lihat Beli instans Hologres.
CatatanJika Anda pengguna baru, Anda dapat mengajukan uji coba gratis Hologres di halaman Uji Coba Gratis Alibaba Cloud.
Langkah 1: Konfigurasikan lingkungan
-
Aktifkan fitur akselerasi data lake untuk instans Hologres Anda.
Buka halaman Hologres instances. Di kolom Actions instans target, klik Lake Acceleration dan konfirmasi tindakan tersebut. Mengaktifkan fitur ini akan me-restart instans Hologres Anda.
-
Masuk ke instans Hologres Anda dan buat database. Untuk informasi selengkapnya, lihat Hubungkan ke HoloWeb untuk menjalankan kueri.
-
(Opsional) Buat ekstensi. Topik ini menggunakan
dlf_fdwsebagai contoh.CatatanOperasi ini tidak diperlukan untuk Hologres V2.1 dan versi setelahnya karena ekstensi tersebut dibuat secara default. Anda dapat membuka halaman Hologres instances dan memeriksa versi instans Anda di halaman Instance Details.
CREATE EXTENSION IF NOT EXISTS dlf_fdw;CatatanJalankan pernyataan ini sebagai superuser di SQL Editor in HoloWeb untuk membuat ekstensi. Operasi ini berlaku untuk seluruh database dan hanya perlu dilakukan sekali per database. Untuk informasi selengkapnya tentang cara memberikan izin kepada akun Hologres, lihat Kelola izin pengguna.
-
Jalankan pernyataan berikut untuk membuat server eksternal
dlf_serverdan konfigurasikan informasi Endpoint guna memastikan akses yang tepat antara Hologres, DLF, dan OSS. Untuk informasi selengkapnya tentang metode pembuatan lainnya dan parameter terkait, lihat Buat server eksternal.-- Buat server eksternal. Contoh ini menggunakan wilayah China (Shanghai). 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 dengan tabel eksternal
Tabel eksternal Hologres menyimpan pemetaan ke data dalam data lake OSS. Data tetap berada di data lake OSS dan tidak menggunakan ruang penyimpanan Hologres. Kueri biasanya selesai dalam hitungan detik hingga menit.
-
Buat tabel eksternal Hologres dan petakan ke data dalam data lake OSS.
-- Topik ini menggunakan mydatabase sebagai contoh. Ganti dengan nama database yang Anda buat di DLF. IMPORT FOREIGN SCHEMA mydatabase LIMIT TO ( nation_orc, supplier_orc, partsupp_orc ) FROM SERVER dlf_server INTO public OPTIONS (if_table_exist 'update'); -
Kueri data tersebut.
Contohnya:
-- Kueri TPC-H 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 dengan tabel internal
Anda dapat mengimpor data dari data lake OSS ke tabel internal Hologres. Data tersebut disimpan di Hologres, yang menawarkan kinerja kueri lebih baik dan kemampuan pemrosesan data lebih kuat. Untuk informasi selengkapnya tentang biaya penyimpanan, lihat Ikhtisar penagihan.
-
Buat tabel internal di Hologres dengan skema yang sama seperti tabel eksternal. Pernyataan berikut merupakan contoh:
-- 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; -
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; -
Kueri data dalam tabel internal Hologres.
-- Kueri TPC-H 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
Terjadi error ERROR: babysitter not ready,req:name:"HiveAccess" saat Anda membuat tabel eksternal Hologres.
-
Penyebab: Fitur akselerasi data lake belum diaktifkan.
-
Solusi: Buka halaman Hologres instances. Di kolom Actions untuk instans target, klik Lake Acceleration dan ikuti petunjuk untuk mengaktifkan fitur tersebut.
Dokumentasi terkait
Topik ini merupakan tutorial. Untuk dokumentasi lengkap tentang mempercepat kueri pada data lake berbasis OSS, lihat Percepat kueri pada data lake berbasis OSS menggunakan DLF.