Въведение в функциите за вграждане в кошер

Функциите са изградени за изпълнение на различни аналитични изисквания и операции като математически, логически, аритметични и релационни, върху огромни набори от данни и таблици. Функциите се използват, когато трябва да използваме повторно подобни операции многократно. В този напреднал свят на BigData, за обработка и обработка на огромни набори от данни, писането на MapReduce програми става трудно. И така, Hive Query Language (HQL) беше въведен на върха на Apache Hadoop през октомври 2010 г., с който лесно можем да стартираме заявки, подобни на SQL. Освен това HQL се преобразуват вътре в програми Mapreduce, за да се получат резултатите. В тази тема ще обсъдим вградените функции на кошера.

Функциите на кошера се категоризират на две:

  1. Вградени функции
  2. Потребителски функции

Вградени функции на кошер

Вградените функции са предварително дефинирани и лесно достъпни за използване в кошер. Те са категоризирани по-долу:

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 и Yconcat ('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 до 9rand () води до rand (0-9)
абс (двоен X)двойноТя връща абсолютната стойност на числото Xabs (-25) води до 25
прах (двоен X, двоен Y)двойноТя връща стойността на X, повдигната на силата Ypow (2, 3) води до 8
exp (двоен X)двойноТя връща стойността на експонента на Xexp (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 Xnvl ('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 за обработка на данни.

Препоръчителни статии

Това е ръководство за функциите за вграждане в кошер. Тук обсъждаме вградените функции, които са предварително дефинирани и лесно достъпни за използване в кошер. Можете също да разгледате следната статия, за да научите повече -

  1. Функции за коса на кошера
  2. Функция на кошера
  3. Команди на кошера
  4. Архитектура на кошера
  5. Поръчка на кошера от
  6. Инсталация на кошера
  7. Вградени функции на Python