Apa itu HiveQL (Hive Query Language)?
Hive menyediakan CLI untuk menulis kueri Hive menggunakan Hive Query Language (HiveQL). Umumnya sintaks HQL mirip dengan sintaks SQL yang kebanyakan analis data kenal.
Bahasa yang terinspirasi SQL dari Hive memisahkan pengguna dari kompleksitas pemrograman Map Reduce. Ini menggunakan kembali konsep yang sudah dikenal dari dunia database relasional, seperti tabel, baris, kolom dan skema, untuk memudahkan pembelajaran.
Sebagian besar interaksi cenderung berlangsung melalui antarmuka baris perintah (CLI). Hive menyediakan CLI untuk menulis kueri Hive menggunakan Hive Query Language (Hive-QL).
Secara umum, sintaks HiveQL mirip dengan sintaks SQL yang kebanyakan analis data kenal. Hive mendukung empat format file yaitu TEXTFILE, SEQUENCEFILE, ORC dan RCFILE (Record Columnar File).
- Untuk penyimpanan metadata pengguna tunggal, Hive menggunakan database derby dan
- Untuk beberapa pengguna Metadata atau kasus Metadata bersama, Hive menggunakan MYSQL
Operator bawaan
Hive menyediakan operator Built-in untuk operasi Data yang akan diimplementasikan pada tabel yang ada di dalam gudang Hive.
Operator ini digunakan untuk operasi matematika pada operan, dan ini akan mengembalikan nilai tertentu sesuai logika yang diterapkan.
Jenis Operator Bawaan di HIVE adalah:
- Operator Relasional
- Operator Aritmatika
- Operator Logis
- Operator pada tipe Kompleks
- Konstruktor tipe kompleks
Operator Relasional:
Kami menggunakan operator Relasional untuk perbandingan hubungan antara dua operan.
- Operator seperti sama dengan, Tidak sama, kurang dari, lebih besar dari… dll
- Jenis operan adalah semua jenis nomor di Operator ini.
Tabel berikut akan memberi kita detail tentang operator Relasional dan penggunaannya.
Operator Bawaan | Deskripsi | Operan |
X = Y | BENAR jika ekspresi X setara dengan ekspresi Y Jika tidak FALSE. | Ia mengambil semua tipe primitif |
X! = Y | BENAR jika ekspresi X tidak setara dengan ekspresi Y Jika tidak FALSE. | Ia mengambil semua tipe primitif |
X BENAR jika ekspresi X kurang dari ekspresi Y Jika tidak FALSE. | Ia mengambil semua tipe primitif |
|
X <= Y | BENAR jika ekspresi X kurang dari atau sama dengan ekspresi Y Jika tidak FALSE. | Ia mengambil semua tipe primitif |
X> Y | BENAR jika ekspresi X lebih besar dari ekspresi Y Jika tidak FALSE. | Ia mengambil semua tipe primitif |
X> = Y | BENAR jika ekspresi X lebih besar dari atau sama dengan ekspresi Y Jika tidak FALSE. | Ia mengambil semua tipe primitif |
X IS NULL | BENAR jika ekspresi X mengevaluasi ke NULL jika tidak FALSE. | Dibutuhkan semua tipe |
X BUKAN NULL | SALAH Jika ekspresi X mengevaluasi ke NULL jika tidak TRUE. | Dibutuhkan semua tipe |
X SUKA Y | BENAR Jika pola string X cocok dengan Y jika tidak SALAH. | Hanya membutuhkan Strings |
X RLIKE Y | NULL jika X atau Y adalah NULL, TRUE jika ada substring dari X cocok dengan ekspresi reguler Java Y, jika tidak FALSE. | Hanya membutuhkan Strings |
X REGEXP Y | Sama seperti RLIKE. | Hanya membutuhkan Strings |
Operator Aritmatika :
Kami menggunakan operator Aritmatika untuk melakukan operasi aritmatika pada operan
- Operasi aritmatika seperti penjumlahan, pengurangan, perkalian dan pembagian antar operan kami menggunakan Operator tersebut.
- Semua jenis operan adalah jenis nomor di Operator ini
Contoh Contoh:
2 + 3 memberikan hasil 5.
Dalam contoh ini, '+' adalah operator dan 2 dan 3 adalah operan. Nilai kembaliannya adalah 5
Tabel berikut akan memberi kita detail tentang operator Aritmatika
Operator Bawaan | Deskripsi | Operan |
X + Y | Ini akan mengembalikan output dengan menambahkan nilai X dan Y. | Dibutuhkan semua jenis nomor |
X - Y | Ini akan mengembalikan output dengan mengurangi Y dari nilai X. | Dibutuhkan semua jenis nomor |
X * Y | Ini akan mengembalikan output dari mengalikan nilai X dan Y. | Dibutuhkan semua jenis nomor |
X / Y | Ini akan mengembalikan output dari membagi Y dari X. | Dibutuhkan semua jenis nomor |
X% Y | Ini akan mengembalikan sisa hasil dari membagi X dengan Y. | Dibutuhkan semua jenis nomor |
X & Y | Ini akan mengembalikan output dari bitwise AND dari X dan Y. | Dibutuhkan semua jenis nomor |
X | Y | Ini akan mengembalikan output dari bitwise OR dari X dan Y. | Dibutuhkan semua jenis nomor |
X Y | Ini akan mengembalikan output XOR bitwise dari X dan Y. | Dibutuhkan semua jenis nomor |
~ X | Ini akan mengembalikan output dari bitwise NOT dari X. | Dibutuhkan semua jenis nomor |
Operator Logis:
Kami menggunakan operator Logical untuk melakukan operasi Logical pada operand
- Operasi logis seperti AND, OR, NOT antara operand kami menggunakan Operator ini.
- Semua jenis operan adalah jenis BOOLEAN di Operator ini
Tabel berikut akan memberi kita detail tentang operator Logika
Operator | Deskripsi | Operand |
X DAN Y | BENAR jika X dan Y BENAR, sebaliknya SALAH. | Jenis Boolean saja |
X && Y | Sama seperti X AND Y tapi disini kita menggunakan simbol && | Jenis Boolean saja |
X ATAU Y | BENAR jika X atau Y atau keduanya BENAR, jika tidak SALAH. | Jenis Boolean saja |
X || Y | Sama seperti X ATAU Y tapi disini kami menggunakan || simbol | Jenis Boolean saja |
BUKAN X | BENAR jika X SALAH, sebaliknya SALAH. | Jenis Boolean saja |
! X | Sama seperti NOT X tapi disini kami menggunakan! simbol | Jenis Boolean saja |
Operator pada tipe Kompleks:
Tabel berikut akan memberi kita detail tentang Operator Tipe Kompleks. Ini adalah operator yang akan menyediakan mekanisme berbeda untuk mengakses elemen dalam tipe kompleks.
Operator | Operand | Deskripsi |
Sebuah] | A adalah Array dan n adalah tipe integer | Ini akan mengembalikan elemen ke-n dalam array A. Elemen pertama memiliki indeks 0 |
M [kunci] | M adalah Map | Ini akan mengembalikan nilai milik kunci di peta |
Konstruktor tipe kompleks:
Tabel berikut akan memberi kita detail tentang Pembangun tipe Kompleks. Ini akan membuat instance pada tipe data yang kompleks. Ini adalah tipe data kompleks seperti tipe Array, Map dan Struct di Hive.
Pada bagian ini, kita akan melihat operasi yang dilakukan pada Konstruktor tipe Kompleks.
Operator | Operand | Deskripsi |
Himpunan | (val1, val2,…) | Ini akan membuat array dengan elemen yang diberikan seperti yang disebutkan seperti val1, val2 |
Create_ union | (tag, val1, val2,…) | Ini akan membuat tipe gabungan dengan nilai yang disebutkan oleh parameter tag |
peta | (key1, value1, key2, value2,…) | Ini akan membuat peta dengan pasangan kunci / nilai yang disebutkan dalam operan |
Named_struct | (nama1, val1, nama2, val2,…) | Ini akan membuat Struct dengan nama dan nilai bidang yang diberikan yang disebutkan dalam operan |
STRUKT | (val1, val2, val3,…) | Membuat Struct dengan nilai bidang yang diberikan. Nama bidang struktur akan menjadi col1, col2,. |
Ringkasan:
Hive menyediakan beberapa fungsi dan operator bawaan untuk memanipulasi data yang disimpan di gudang Hive. Hive mirip dengan bahasa SQL, yang mendukung semua jenis operasi data dan membuat kueri pada tabel dan database.