Въведение в функциите за вграждане в кошер
Функциите са изградени за изпълнение на различни аналитични изисквания и операции като математически, логически, аритметични и релационни, върху огромни набори от данни и таблици. Функциите се използват, когато трябва да използваме повторно подобни операции многократно. В този напреднал свят на BigData, за обработка и обработка на огромни набори от данни, писането на MapReduce програми става трудно. И така, Hive Query Language (HQL) беше въведен на върха на Apache Hadoop през октомври 2010 г., с който лесно можем да стартираме заявки, подобни на SQL. Освен това HQL се преобразуват вътре в програми Mapreduce, за да се получат резултатите. В тази тема ще обсъдим вградените функции на кошера.
Функциите на кошера се категоризират на две:
- Вградени функции
- Потребителски функции
Вградени функции на кошер
Вградените функции са предварително дефинирани и лесно достъпни за използване в кошер. Те са категоризирани по-долу:
1. Струнни функции
Използва се за стринг манипулации и трансформация.
Име на функция | Тип връщане | описание | пример |
substr (string, int, int) | низ | Той връща низ от определеното начално положение до зададена дължина | substr ('Заявка на кошер', 5, 5) води до 'заявка' |
rtrim (низ X) | низ | Той връща низ без правилни водещи интервали | rtrim ('Hello') води до 'Hello' |
ltrim (низ X) | низ | Той връща низ без леви водещи интервали | ltrim ('Hello') води до 'Hello' |
обратен (низ X) | низ | Той връща обърнат низ от X | обратен ('здравей') резултат в 'olleh' |
rpad (низ X, int, низ) | низ | Връща десен подплатен низ с 'pad' на дължина от | rpad ('Здравей', 3, 'здравей') резултати в 'Здравей, здравей, здравей' |
lpad (низ X, int, низ) | низ | Той връща лев подплатен низ с 'pad' на дължина от | lpad ('Здравей', 3, 'Здравей') резултати в 'Здравей Здрасти Здравей Здравей' |
разделяне (низ X, променлив низ) | Array | Той връща масив от низове, след като раздели низа около зададения шаблон | разделяне („A, B, C, D“, „, “) води до („A“, B “, „ C “, „ D “) |
дължина (низ X) | цяло число | Връща дължината на низ X | дължина („Bigdata“) води до 7 |
concat (низ X, низ Y) | низ | Той връща свързан низ от X и Y | concat ('Hello', 'World') води до 'HelloWorld' |
2. Математически функции
Използва се за прилагане на математически операции като заобляне, таван, подови настилки и т.н., вместо за създаване на UDF.
Име на функция | Тип връщане | описание | пример |
кръг (двоен X) | двойно | Тя връща закръглената стойност на X | кръг (29.5) води до 30 |
кръг (двоен X, Int d) | двойно | Тя връща закръглената стойност на X до d десетични знака | кръг (29.3456, 2) води до 29.34 |
таван (двоен X) | двойно | Тя връща минимална BIGINT стойност, която е равна или по-голяма от X | таван (20.5555) води до 21 |
под (двоен X) | двойно | Тя връща максимална BIGINT стойност, която е равна или по-голяма от X | таван (20.5555) води до 20 |
ранд () | двойно | Връща случайни числа между 0 до 9 | rand () води до rand (0-9) |
абс (двоен X) | двойно | Тя връща абсолютната стойност на числото X | abs (-25) води до 25 |
прах (двоен X, двоен Y) | двойно | Тя връща стойността на X, повдигната на силата Y | pow (2, 3) води до 8 |
exp (двоен X) | двойно | Тя връща стойността на експонента на X | exp (2) води до 7, 389 |
3. Условни функции
Използва се за проверка на израза за True или False и връща съответните резултати.
Име на функция | Тип връщане | описание | пример |
isnull (X) | Булева | Тя връща ИСТИНСКО, ако X е NULL, друго е невярно | isnull ('NULL') се връща в TRUE |
isnotnull (X) | Булева | Тя връща ИСТИНСКО, ако X не е NULL, друго е невярно | isnotnull ('NULL') се връща във FALSE |
nvl (arg X, arg Y) | низ | Той връща arg Y, ако arg X е NULL друго връща arg X | nvl ('NULL', 'Value is Null') води до 'Value is Null' |
if (Boolean testCondition, T valueTrue, T valueFalseOrNull) | T | Връща True, когато състоянието на теста е вярно и False или Null в противен случай | ако (2 = 2, „Вярно“, „Грешно“) |
обединяват (X, Y) | (Всяка) | Той връща първите ненулеви стойности от списъка (Съмнявам се в това - ще върне ли първата първа стойност или всички ненулеви стойности?) | coalesce (null, null, null, 1, 5, null, null, 6) води до 1 |
4. Функции за дата
Използва се за извършване на манипулации за дата и преобразуване на типа.
Име на функция | Тип връщане | описание | пример |
текуща дата | Дата | Тя връща текущата дата на изпълнение на заявката | current_date () връща днешната дата |
unix_timestamp () | BIGINT | Тя връща текущата UNIX времева марка на изпълнение на заявката за секунди | unix_timestamp () връща текущата времена марка unix |
година (низ на дата) | Int | Той връща част от датата на годината | година ('1994-11-24') връща 1994 |
четвърт (дата на низ) | Int | Тя връща тримесечието на годината на дата | тримесечие ('1994-11-24') връща 4 |
месец (дата на низ) | Int | Тя връща месечната част на дата | месец ('1994-11-24') връща 11 |
час (дата на низ) | Int | Той връща часовата част на отметката | час ('1994-11-24 12:45:23') връща 12 |
минута (дата на низ) | Int | Той връща минутната част от отметката | година ('1994-11-24 12:45:23') връща 45 |
към днешна дата() | низ | Тя връща част от датата на низ от време | to_date () връща част за дата |
date_sub (дата на низ, int дни) | низ | Връща изваждането на броя на дните към датата | date_sub ('1994-11-24', 20) връща '1994-11-04' |
months_between (DATE1, DATE2) | двойно | Тя връща броя на месеците между дата1 и дата2 (месеца или няма дни?) | months_bet between ('1994-11-24', '1994-11-04') връща 20 |
5. Функция за събиране
Използва се за трансформиране и извличане на части от типове колекции като карта, масив и т.н.
Име на функция | Тип връщане | описание | пример |
размер (карта) | Int | Той връща общия брой елементи в картата | size (('a': 2, 'b': 6)) връща 2 |
размер (масив) | Int | Връща общия брой елементи в масива | размер ((1, 3, 4, 7)) връща 4 |
array_contains (масив, стойност) | Булева | Връща true, ако масивът съдържа стойността | array_contains ((1, 3, 9, 8, 5, 4, 7), 5) връща TRUE |
map_keys (карта) | Array | Той връща нередовен масив от ключове на картата | map_keys (('a': 2, 'b': 6, 'c': 1)) връща ('b', 'c', 'a') |
map_valuess (карта) | Array | Връща неразреден масив от стойности на картата | map_keys (('a': 2, 'b': 6, 'c': 1)) връща (1, 6, 2) |
sort_array (масив) | Array | Връща сортиран масив на дадения масив | sort_array ((1, 3, 9, 8, 5, 4, 7)) връща (1, 3, 4, 5, 7, 8, 9) |
заключение
Досега в Hive сме обсъждали различни вградени функции. В сравнение с MapReduce, Hive е по-удобен и спестява време. Всеки, който има основни SQL знания, може лесно да пише HQL, а не сложни програми MapReduce за обработка на данни.
Препоръчителни статии
Това е ръководство за функциите за вграждане в кошер. Тук обсъждаме вградените функции, които са предварително дефинирани и лесно достъпни за използване в кошер. Можете също да разгледате следната статия, за да научите повече -
- Функции за коса на кошера
- Функция на кошера
- Команди на кошера
- Архитектура на кошера
- Поръчка на кошера от
- Инсталация на кошера
- Вградени функции на Python