Apa itu HiveQL (Hive Query Language)?
Hive menyediakan CLI untuk menulis pertanyaan Hive menggunakan Hive Query Language (HiveQL). Secara amnya sintaks HQL serupa dengan sintaks SQL yang biasa dilakukan oleh kebanyakan penganalisis data.
Bahasa yang diilhamkan oleh Hive's SQL memisahkan pengguna dari kerumitan pengaturcaraan Map Reduce. Ia menggunakan kembali konsep yang sudah biasa dari dunia pangkalan data relasional, seperti jadual, baris, lajur dan skema, untuk memudahkan pembelajaran.
Sebilangan besar interaksi cenderung berlaku melalui antara muka baris perintah (CLI). Hive menyediakan CLI untuk menulis pertanyaan Hive menggunakan Hive Query Language (Hive-QL).
Secara amnya, sintaks HiveQL serupa dengan sintaks SQL yang biasa dilakukan oleh kebanyakan penganalisis data. Hive menyokong empat format fail iaitu TEXTFILE, SEQUENCEFILE, ORC dan RCFILE (Record Columnar File).
- Untuk penyimpanan metadata pengguna tunggal Hive menggunakan pangkalan data derby dan
- Untuk Metadata berbilang pengguna atau kes Metadata bersama, Hive menggunakan MYSQL
Pengendali terbina dalam
Hive menyediakan operator Built-in untuk operasi Data yang akan dilaksanakan pada jadual yang terdapat di dalam gudang Hive.
Pengendali ini digunakan untuk operasi matematik pada operan, dan ia akan mengembalikan nilai spesifik mengikut logik yang diterapkan.
Jenis Pengendali Built-in dalam HIVE adalah:
- Pengendali Perhubungan
- Pengendali Aritmetik
- Pengendali Logik
- Pengendali pada jenis Kompleks
- Pembina jenis kompleks
Pengendali Perhubungan:
Kami menggunakan operator Relasional untuk perbandingan hubungan antara dua operan.
- Pengendali seperti sama, Tidak sama, kurang daripada, lebih besar daripada ... dll
- Jenis operasi adalah semua jenis nombor dalam Pengendali ini.
Jadual berikut akan memberi kami perincian mengenai Relational operator dan penggunaannya.
Pengendali terbina dalam | Penerangan | Operan |
X = Y | BENAR jika ungkapan X bersamaan dengan ungkapan Y Jika tidak SALAH. | Ia mengambil semua jenis primitif |
X! = Y | BENAR jika ungkapan X tidak setara dengan ungkapan Y Jika tidak SALAH. | Ia mengambil semua jenis primitif |
X BENAR jika ungkapan X kurang daripada ungkapan Y Jika tidak SALAH. | Ia mengambil semua jenis primitif |
|
X <= Y | BENAR jika ungkapan X kurang dari atau sama dengan ungkapan Y Jika tidak SALAH. | Ia mengambil semua jenis primitif |
X> Y | BENAR jika ungkapan X lebih besar daripada ungkapan Y Jika tidak SALAH. | Ia mengambil semua jenis primitif |
X> = Y | BENAR jika ungkapan X lebih besar daripada atau sama dengan ungkapan Y Jika tidak SALAH. | Ia mengambil semua jenis primitif |
X ADALAH NULL | BENAR jika ungkapan X menilai NULL sebaliknya SALAH. | Ia mengambil semua jenis |
X BUKAN NULL | SALAH Jika ungkapan X menilai NULL sebaliknya BENAR. | Ia mengambil semua jenis |
X SUKA Y | BENAR Jika corak rentetan X sepadan dengan Y sebaliknya SALAH. | Hanya mengambil Rentetan |
X RLIKE Y | NULL jika X atau Y adalah NULL, BENAR jika ada substring X yang sesuai dengan ekspresi biasa Java Y, jika tidak SALAH. | Hanya mengambil Rentetan |
X REGEXP Y | Sama seperti RLIKE. | Hanya mengambil Rentetan |
Pengendali Aritmetik :
Kami menggunakan operator Aritmetik untuk melakukan operasi aritmetik pada operan
- Operasi aritmetik seperti penambahan, pengurangan, pendaraban dan pembahagian antara operan kita menggunakan Pengendali ini.
- Jenis operan semuanya adalah jenis nombor dalam Operator ini
Contoh Contoh:
2 + 3 memberikan hasil 5.
Dalam contoh ini, '+' adalah pengendali dan 2 dan 3 adalah operan. Nilai pulangan adalah 5
Jadual berikut akan memberi kami perincian mengenai pengendali Aritmetik
Pengendali terbina dalam | Penerangan | Operan |
X + Y | Ia akan mengembalikan output penambahan nilai X dan Y. | Ia mengambil semua jenis nombor |
X - Y | Ia akan mengembalikan output penolakan Y dari nilai X. | Ia mengambil semua jenis nombor |
X * Y | Ia akan mengembalikan output mengalikan nilai X dan Y. | Ia mengambil semua jenis nombor |
X / Y | Ia akan mengembalikan output membahagi Y dari X. | Ia mengambil semua jenis nombor |
X% Y | Ia akan mengembalikan selebihnya hasil daripada membahagi X dengan Y. | Ia mengambil semua jenis nombor |
X & Y | Ia akan mengembalikan output bitwise AND dari X dan Y. | Ia mengambil semua jenis nombor |
X | Y | Ia akan mengembalikan output bitwise ATAU X dan Y. | Ia mengambil semua jenis nombor |
X Y | Ia akan mengembalikan output XOR bitwise X dan Y. | Ia mengambil semua jenis nombor |
~ X | Ia akan mengembalikan output bitwise BUKAN X. | Ia mengambil semua jenis nombor |
Pengendali Logik:
Kami menggunakan operator Logik untuk melakukan operasi Logik pada operan
- Operasi logik seperti AND, OR, NOT antara operan yang kami gunakan Operator ini.
- Jenis operan semuanya adalah jenis BOOLEAN dalam Pengendali ini
Jadual berikut akan memberi kami perincian mengenai operator Logik
Pengendali | Penerangan | Operan |
X DAN Y | BENAR jika kedua-dua X dan Y adalah BENAR, jika tidak SALAH. | Jenis boolean sahaja |
X && Y | Sama seperti X DAN Y tetapi di sini kita menggunakan simbol && | Jenis boolean sahaja |
X ATAU Y | BENAR jika X atau Y atau kedua-duanya BENAR, jika tidak SALAH. | Jenis boolean sahaja |
X || Y | Sama dengan X ATAU tetapi di sini kita menggunakan || simbol | Jenis boolean sahaja |
BUKAN X | BENAR jika X SALAH, jika tidak SALAH. | Jenis boolean sahaja |
! X | Sama seperti NOT X tetapi di sini kita gunakan! simbol | Jenis boolean sahaja |
Pengendali pada jenis Kompleks:
Jadual berikut akan memberi kami perincian mengenai Operator Jenis Kompleks. Ini adalah operator yang akan menyediakan mekanisme yang berbeza untuk mengakses elemen dalam jenis kompleks.
Pengendali | Operan | Penerangan |
A [n] | A adalah Array dan n adalah jenis integer | Ia akan mengembalikan elemen ke-9 dalam array A. Elemen pertama mempunyai indeks 0 |
M [kunci] | M ialah Peta | Ia akan mengembalikan nilai-nilai kepunyaan kunci dalam peta |
Pembina jenis kompleks:
Jadual berikut akan memberi kami perincian mengenai Pembangun jenis Kompleks. Ia akan membina contoh pada jenis data yang kompleks. Ini adalah jenis data yang kompleks seperti jenis Array, Map dan Struct di Hive.
Di bahagian ini, kita akan melihat operasi yang dilakukan pada Pembangun jenis Kompleks.
Pengendali | Operan | Penerangan |
susunan | (val1, val2,…) | Ini akan membuat susunan dengan elemen yang diberikan seperti yang disebutkan seperti val1, val2 |
Buat_ kesatuan | (teg, val1, val2,…) | Ini akan membuat jenis penyatuan dengan nilai-nilai yang disebutkan oleh parameter tag |
peta | (kunci1, nilai1, kunci2, nilai2,…) | Ia akan membuat peta dengan pasangan kunci / nilai yang diberikan yang disebutkan dalam operan |
Struktur dinamakan | (name1, val1, name2, val2,…) | Ini akan membuat Struktur dengan nama dan nilai medan yang diberikan yang disebutkan dalam operan |
STRUKTUR | (val1, val2, val3,…) | Membuat Struktur dengan nilai medan yang diberikan. Nama medan struktur akan menjadi col1, col2,. |
Ringkasan:
Hive menyediakan beberapa fungsi dan operator dalaman untuk memanipulasi data yang disimpan di gudang Hive. Hive mirip dengan bahasa SQL, yang menyokong semua jenis operasi data dan membuat pertanyaan pada jadual dan pangkalan data.