Topik ini menjelaskan cara menggunakan Hive pada cluster E-MapReduce (EMR) untuk memproses data yang disimpan di OSS-HDFS.
Prasyarat
Cluster EMR V3.42.0 atau lebih baru, atau EMR V5.8.0 atau lebih baru telah dibuat, dengan layanan Hive dipilih. Untuk informasi lebih lanjut, lihat Buat sebuah cluster.
OSS-HDFS diaktifkan untuk sebuah bucket dan izin akses pada OSS-HDFS diberikan. Untuk informasi lebih lanjut tentang cara mengaktifkan OSS-HDFS, lihat Aktifkan OSS-HDFS dan berikan izin akses.
Prosedur
Masuk ke konsol E-MapReduce. Di panel navigasi sebelah kiri, klik EMR on ECS dan buat sebuah cluster EMR.
Saat membuat cluster EMR, pastikan Anda menetapkan Product Version ke EMR-3.46.2 atau lebih baru atau EMR-5.12.2 atau lebih baru dan Root Storage Directory of Cluster ke sebuah bucket yang memiliki OSS-HDFS diaktifkan. Gunakan nilai default untuk parameter lainnya. Untuk informasi lebih lanjut, lihat Buat sebuah cluster.
Jalankan perintah berikut di terminal untuk terhubung ke Hive.
Untuk metode koneksi lainnya, lihat Terhubung ke Hive.
hiveJalankan perintah berikut di terminal untuk terhubung ke Hive.
Untuk metode koneksi lainnya, lihat Terhubung ke Hive.
hiveTambahkan partisi ke tabel yang ada.
Anda dapat menambahkan partisi ke tabel yang ada untuk menyimpan data tabel dalam unit yang lebih kecil. Anda dapat menentukan kondisi kueri berdasarkan partisi. Dengan cara ini, hanya partisi yang memenuhi kondisi tertentu yang akan dipindai, sehingga meningkatkan kinerja kueri.
Sintaksis perintah
ALTER TABLE <table_name> ADD [IF NOT EXISTS] PARTITION <pt_spec> [PARTITION <pt_spec> PARTITION <pt_spec>...] LOCATION 'location';Tabel berikut menjelaskan parameter dalam perintah di atas.
Parameter
Diperlukan
Deskripsi
table_name
Ya
Nama tabel tempat Anda ingin menambahkan partisi.
IF NOT EXISTS
Tidak
Parameter yang menyebabkan kesalahan dilewati jika tabel berisi partisi dengan nama yang sama. Jika parameter IF NOT EXISTS tidak ditentukan dan partisi dengan nama yang sama dengan partisi yang ingin Anda tambahkan sudah ada, operasi gagal dan kesalahan dikembalikan.
pt_spec
Ya
Partisi yang ingin Anda tambahkan. Nilai parameter ini berada dalam format
(partition_col1 = partition_col_value1, partition_col2 = partition_col_value2, ...). Dalam format ini,partition_coladalah nama kolom kunci partisi, danpartition_col_valueadalah nilainya. Nama kolom kunci partisi tidak peka huruf besar-kecil dan nilainya peka huruf besar-kecil.location
Ya
Jalur OSS yang digunakan untuk menyimpan data dalam partisi.
Contoh
Kode sampel berikut memberikan contoh tentang cara menambahkan partisi ke tabel bernama sale_detail untuk menyimpan catatan penjualan di wilayah China (Hangzhou) pada Desember 2021 dan menentukan jalur OSS yang digunakan untuk menyimpan data dalam partisi:
ALTER TABLE sale_detail ADD IF NOT EXISTS PARTITION (sale_date='202112', region='hangzhou') LOCATION 'oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/path/2021/';