Fungsi Hive: Contoh Bawaan & UDF [Fungsi Buatan Pengguna].


Fungsi dibangun untuk tujuan tertentu untuk melakukan operasi seperti Matematika, aritmatika, logika, dan relasional pada operan nama kolom tabel.

Fungsi bawaan

Ini adalah fungsi-fungsi yang sudah tersedia di Hive. Pertama, kita harus memeriksa persyaratan aplikasi, dan kemudian kita dapat menggunakan fungsi bawaan ini dalam aplikasi kita. Kita dapat memanggil fungsi-fungsi ini langsung di aplikasi kita.

Sintaks dan jenisnya disebutkan di bagian berikut.

Jenis Fungsi Bawaan di HIVE

  • Fungsi Pengumpulan
  • Fungsi Tanggal
  • Fungsi Matematika
  • Fungsi Bersyarat
  • Fungsi String
  • Lain-lain Fungsi

Fungsi Pengumpulan

Fungsi-fungsi ini digunakan untuk koleksi. Koleksi berarti pengelompokan elemen dan pengembalian elemen tunggal atau larik bergantung pada tipe pengembalian yang disebutkan dalam nama fungsi.

Jenis Pengembalian Nama Fungsi Uraian Teknis
INT ukuran (Peta ) Ini akan mengambil dan memberikan nomor komponen dalam tipe peta
INT ukuran (Array ) Ini akan mengambil dan memberikan nomor elemen dalam tipe array
Himpunan Map_keys(Peta ) Ini akan mengambil dan memberikan array yang berisi kunci peta masukan. Di sini array tidak berurutan
Himpunan Nilai_Peta(Peta ) Ini akan mengambil dan memberikan array yang berisi nilai peta input. Di sini array tidak berurutan
Himpunan Sortir_array(Array ) mengurutkan array input dalam urutan array dan elemen dan mengembalikannya

Fungsi Tanggal

Ini digunakan untuk melakukan Manipulasi Tanggal dan Konversi tipe Tanggal dari satu tipe ke tipe lainnya:

Nama Fungsi Jenis Pengembalian Uraian Teknis
Unix_Stempel Waktu() BigInt Kami akan mendapatkan arus Unix cap waktu dalam hitungan detik
Sampai_tanggal(cap waktu string) string Ini akan mengambil dan memberikan bagian tanggal dari string stempel waktu:
tahun (tanggal string) INT Ini akan mengambil dan memberikan bagian tahun dari tanggal atau string stempel waktu
kuartal (tanggal/cap waktu/string) INT Ini akan mengambil dan memberikan kuartal tahun ini untuk tanggal, stempel waktu, atau string dalam rentang 1 hingga 4
bulan (tanggal string) INT Ini akan memberikan bagian bulan dari tanggal atau string stempel waktu
jam (tanggal string) INT Ini akan mengambil dan memberikan jam stempel waktu
menit (tanggal string) INT Ini akan mengambil dan memberikan menit cap waktu
Date_sub(tanggal mulai string, int hari) string Ini akan mengambil dan memberikan Pengurangan jumlah hari ke tanggal mulai
Tanggal sekarang tanggal Ini akan mengambil dan memberikan tanggal saat ini pada awal evaluasi kueri
_hari TERAKHIR (tanggal string) string Ini akan mengambil dan memberikan hari terakhir pada bulan dimana tanggal tersebut berada
trunc(tanggal string, format string) string Ini akan mengambil dan memberikan tanggal terpotong ke unit yang ditentukan oleh format.

Format yang didukung dalam hal ini:

BULAN/SENIN/MM, TAHUN/YYYY/YY.

Fungsi Matematika

Fungsi-fungsi ini digunakan untuk Matematika Operations. Daripada membuatUDF, kami memiliki beberapa fungsi matematika bawaan di Hive.

Nama Fungsi Jenis Pengembalian Uraian Teknis
bulat(GANDA X) DUA KALI LIPAT Ini akan mengambil dan mengembalikan nilai BIGINT X yang dibulatkan
bulat(GANDA X, INT d) DUA KALI LIPAT Ini akan mengambil dan mengembalikan X yang dibulatkan ke tempat desimal d
coklat(GANDA X) DUA KALI LIPAT Ini akan mengambil dan mengembalikan nilai BIGINT X yang dibulatkan menggunakan mode pembulatan HALF_EVEN
lantai(GANDA X) BESAR Ini akan mengambil dan mengembalikan nilai BIGINT maksimum yang sama dengan atau kurang dari nilai X
langit-langit(GANDA a), langit-langit(GANDA a) BESAR Ini akan mengambil dan mengembalikan nilai BIGINT minimum yang sama dengan atau lebih besar dari nilai X
rand(), rand(biji INT) DUA KALI LIPAT Ini akan mengambil dan mengembalikan nomor acak yang didistribusikan secara seragam dari 0 hingga 1

Fungsi Bersyarat

Fungsi-fungsi ini digunakan untuk pemeriksaan nilai bersyarat.

Nama Fungsi Jenis Pengembalian Uraian Teknis
if(Boolean testCondition, T nilaiBenar, T nilaiFalseOrNull) T Ini akan mengambil dan memberi nilai True kapan
Kondisi Tes benar,
memberikan nilai False atau Null jika tidak.
TIDAK ADA( X) Boolean Ia akan mengambil dan memberikan true jika X bernilai NULL, dan false jika tidak.
BUKANNULL(X ) Boolean Ia akan mengambil dan memberikan true jika X bukan NULL, dan false jika tidak.

Fungsi String

Manipulasi string dan operasi string dapat memanggil fungsi-fungsi ini.

Nama Fungsi Jenis Pengembalian Uraian Teknis
mundur (string X) string Ini akan menghasilkan string X yang terbalik
rpad(string str, int panjang, pad string) string Itu akan mengambil dan memberikan str, yang diisi dengan pad kanan dengan panjang (nilai integer)
trim(string X) string Ini akan mengambil dan mengembalikan string yang dihasilkan dari pemangkasan spasi dari ujung (sisi kanan) X
Misalnya, rtrim(' hasil ') menghasilkan ' hasil'
spasi(INT n) string Ini akan mengambil dan memberikan string n spasi.
terbelah(STRING str, STRING tepuk) susunan Membagi str di sekitar pat (pat adalah ekspresi reguler).
Str_to_map(teks[, pembatas1, pembatas2]) peta Ini akan membagi teks menjadi pasangan nilai kunci menggunakan dua pembatas.

UDF (Fungsi Buatan Pengguna)

Di Hive, pengguna dapat menentukan fungsinya sendiri untuk memenuhi kebutuhan klien tertentu. Ini dikenal sebagai UDF di Hive. Fungsi Buatan Pengguna tertulis di Java untuk modul tertentu.

Beberapa UDF dirancang khusus untuk penggunaan kembali kode dalam kerangka aplikasi. Pengembang akan mengembangkan fungsi-fungsi ini di Java dan mengintegrasikan UDF tersebut dengan Hive.

Selama eksekusi Kueri, pengembang dapat langsung menggunakan kode tersebut, dan UDF akan mengembalikan keluaran sesuai dengan tugas yang ditentukan pengguna. Ini akan memberikan kinerja tinggi dalam hal pengkodean dan eksekusi.

Misalnya, untuk stemming string, kami tidak memiliki fungsi standar apa pun di Hive. Untuk ini, kita dapat menulis batang UDF di dalamnya JavaDi mana pun kita memerlukan fungsionalitas Stem, kita dapat langsung memanggil UDF Stem ini di Hive.

Di sini fungsi batang berarti memperoleh kata dari kata dasar. Ini seperti algoritma stemming yang mereduksi kata “berharap”, “berharap”, dan “keinginan” menjadi akar kata “keinginan”. Untuk menjalankan fungsionalitas jenis ini, kita dapat menulis UDF di dalamnya Java dan mengintegrasikannya dengan Sarang lebah.

Tergantung pada kasus penggunaannya, UDF dapat ditulis. Ini akan menerima dan menghasilkan jumlah nilai input dan output yang berbeda.

Tipe umum UDF akan menerima satu nilai masukan dan menghasilkan satu nilai keluaran. Jika UDF digunakan dalam kueri, maka UDF akan dipanggil satu kali untuk setiap baris dalam kumpulan data hasil.

Dengan cara lain, ia dapat menerima sekelompok nilai sebagai masukan dan juga mengembalikan nilai keluaran tunggal.