Trino adalah mesin SQL terdistribusi sumber terbuka untuk analitik interaktif. Topik ini menjelaskan cara menggunakan JindoSDK dengan Trino untuk menanyakan data di OSS-HDFS.
Prasyarat
Anda telah membeli Instance ECS untuk digunakan sebagai lingkungan penerapan. Untuk informasi lebih lanjut, lihat Beli Instance ECS.
Anda telah membuat lingkungan Hadoop. Untuk informasi lebih lanjut, lihat Buat lingkungan runtime Hadoop.
Anda telah menerapkan Trino. Untuk informasi lebih lanjut, lihat Terapkan Trino.
Anda telah mengaktifkan OSS-HDFS dan memberikan izin yang diperlukan. Untuk informasi lebih lanjut, lihat Aktifkan OSS-HDFS.
Prosedur
Sambungkan ke Instance ECS. Untuk informasi lebih lanjut, lihat Sambungkan ke instance.
Konfigurasikan JindoSDK.
Unduh versi terbaru dari paket JAR JindoSDK. Untuk tautan unduhan, lihat GitHub.
Dekompresi paket JAR JindoSDK.
Perintah berikut menunjukkan cara mendekompresi
jindosdk-x.x.x-linux.tar.gz. Jika Anda menggunakan versi JindoSDK yang berbeda, ganti nama paket dengan yang sebenarnya.tar zxvf jindosdk-x.x.x-linux.tar.gzCatatanx.x.x mewakili nomor versi paket JAR JindoSDK.
Instal paket JAR JindoSDK ke classpath Trino.
cp jindosdk-x.x.x-linux/lib/*.jar $Trino_HOME/plugin/hive-hadoop2/
Konfigurasikan kelas implementasi OSS-HDFS dan AccessKey.
Di semua node Trino, tambahkan kelas implementasi OSS-HDFS ke file konfigurasi Hadoop core-site.xml.
<configuration> <property> <name>fs.AbstractFileSystem.oss.impl</name> <value>com.aliyun.jindodata.oss.JindoOSS</value> </property> <property> <name>fs.oss.impl</name> <value>com.aliyun.jindodata.oss.JindoOssFileSystem</value> </property> </configuration>Di semua node Trino, tambahkan ID AccessKey dan Rahasia AccessKey untuk bucket yang diaktifkan OSS-HDFS Anda ke file konfigurasi Hadoop core-site.xml.
<configuration> <property> <name>fs.oss.accessKeyId</name> <value>LTAI********</value> </property> <property> <name>fs.oss.accessKeySecret</name> <value>KZo1********</value> </property> </configuration>
Konfigurasikan Endpoint OSS-HDFS.
Untuk mengakses bucket OSS menggunakan OSS-HDFS, Anda harus mengonfigurasi Endpoint. Format jalur akses yang direkomendasikan adalah
oss://{yourBucketName}.{yourBucketEndpoint}/{path}, misalnya,oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/exampleobject.txt. Setelah konfigurasi selesai, JindoSDK menggunakan Endpoint dalam jalur akses untuk mengakses API OSS-HDFS.Anda juga dapat mengonfigurasi Endpoint OSS-HDFS menggunakan metode lain. Endpoint yang dikonfigurasi menggunakan metode berbeda memiliki prioritas berbeda. Untuk informasi lebih lanjut, lihat Lampiran 1: Cara lain untuk mengonfigurasi Endpoint.
PentingSetelah Anda menyelesaikan konfigurasi di atas, mulai ulang layanan Trino agar konfigurasi berlaku.
Tanyakan data di OSS-HDFS.
Contoh berikut menggunakan katalog Hive umum untuk menunjukkan cara Anda dapat menggunakan Trino untuk membuat skema di OSS dan menjalankan kueri SQL sederhana. Karena Trino bergantung pada Hive Metastore, Anda juga harus menginstal dan menerapkan JindoSDK untuk layanan Hive. Untuk informasi lebih lanjut, lihat Gunakan JindoSDK dengan Hive untuk memproses data di OSS-HDFS.
Masuk ke Konsol Trino.
trino --server <Trino_server_address>:<Trino_server_port> --catalog hiveBuat skema di OSS.
create schema testDB with (location='oss://{yourBucketName}.{yourBucketEndpoint}/{schema_dir}');Gunakan skema.
use testDB;Buat tabel.
create table tbl (key int, val int);Masukkan data ke dalam tabel.
insert into tbl values (1,666);Tanyakan tabel.
select * from tbl;