OSS-HDFS menyediakan antarmuka yang kompatibel dengan HDFS sehingga mesin data besar seperti Trino dapat mengakses data OSS secara langsung. Siapkan Trino pada kluster E-MapReduce (EMR) untuk menjalankan kueri SQL interaktif terhadap data yang disimpan di OSS-HDFS.
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
Kluster EMR versi EMR V3.42.0 atau lebih baru, atau EMR V5.8.0 atau lebih baru, dengan layanan Trino yang dipilih. Untuk informasi selengkapnya, lihat Create a cluster.
Bucket dengan OSS-HDFS yang diaktifkan dan izin akses yang diperlukan telah diberikan. Untuk informasi selengkapnya, lihat Enable OSS-HDFS and grant access permissions.
Langkah 1: Buat kluster EMR
Masuk ke Konsol EMR. Di panel navigasi sebelah kiri, klik EMR on ECS.
Buat kluster EMR dengan pengaturan berikut:
Parameter Nilai yang Diperlukan Product Version EMR-3.46.2 atau lebih baru, atau EMR-5.12.2 atau lebih baru Root Storage Directory of Cluster Bucket dengan OSS-HDFS yang diaktifkan Parameter lainnya Nilai default Untuk informasi selengkapnya, lihat Create a cluster.
Langkah 2: Hubungkan ke server Trino
Dapatkan alamat dan port server Trino:
Pada halaman EMR on ECS, klik nama kluster Anda.
Buka Services > Trino > Configure untuk menemukan alamat dan port server.
Jalankan perintah berikut untuk menghubungkan ke server Trino:
Parameter Deskripsi <Trino_server_address>Alamat IP atau hostname server Trino. Terletak di tab Configure. <Trino_server_port>Nomor port server Trino. Terletak di tab Configure. <catalog_name>Katalog yang akan dihubungkan, misalnya hive.trino --server <Trino_server_address>:<Trino_server_port> --catalog <catalog_name>Catatan: Flag--catalogmemerlukan nilai. Tentukan katalog yang memetakan ke sumber data Anda.
Langkah 3: Kueri data yang disimpan di OSS-HDFS
Setelah terhubung ke server Trino, jalankan pernyataan SQL berikut untuk membuat skema, memuat data, dan menjalankan kueri.
Buat skema yang mengarah ke lokasi OSS-HDFS.
create schema testDB with (location='oss://<Bucket>.<Endpoint>/<schema_dir>');Ganti placeholder dengan nilai Anda:
Placeholder Deskripsi Contoh <Bucket>Nama bucket OSS dengan OSS-HDFS yang diaktifkan my-data-bucket<Endpoint>Titik akhir OSS-HDFS untuk wilayah Anda cn-hangzhou.oss-dls.aliyuncs.com<schema_dir>Jalur direktori untuk skema trino/testDBURI lengkap mengikuti format berikut:
oss://<Bucket>.<Endpoint>/<schema_dir>Beralih ke skema baru.
use testDB;Buat tabel.
create table tbl (key int, val int);Masukkan data ke dalam tabel.
insert into tbl values (1,666);Kueri data dalam tabel.
select * from tbl;Output yang diharapkan:
key | val -----+----- 1 | 666 (1 row)
Hasil
Kueri mengembalikan baris yang telah Anda masukkan. Data tersebut disimpan di lokasi OSS-HDFS yang ditentukan dalam skema.