Функција кошнице: Уграђено & амп; УДФ (кориснички дефинисане функције)

Преглед садржаја:

Anonim

Функције се граде за одређену сврху за извођење операција попут математичке, аритметичке, логичке и релационе на операндима имена колона табеле.

Уграђене функције

То су функције које су већ доступне у Хиве-у. Прво морамо да проверимо захтев апликације, а затим можемо да користимо ове уграђене функције у нашим апликацијама. Ове функције можемо позвати директно у нашој апликацији.

Синтакса и типови су поменути у следећем одељку.

Врсте уграђених функција у КОШНИЦИ

  • Функције сакупљања
  • Датум функције
  • Математичке функције
  • Условне функције
  • Стринг функције
  • Мисц. Функције

Функције колекције:

Ове функције се користе за колекције. Колекције значе да групирање елемената и враћање појединачних или низа елемената зависи од типа повратка наведеног у имену функције.

Тип повратка Назив функције Опис
ИНТ величина (мапа <КВ>) Преузеће и дати број компоненти у типу карте
ИНТ величина (низ <Т>) Преузеће и дати број елемената у типу низа
Низ <К> Кључеви_мапе (Мапа <КВ>) Преузеће и дати низ који садржи кључеве улазне мапе. Овде је низ неуређен
Низ <В> Вредности_мапе (Мапа <КВ>) Преузеће и дати низ који садржи вредности улазне мапе. Овде је низ неуређен
Низ <т> Низ сортирања (низ <Т>) сортира улазни низ у растућем низу низа и елемената и враћа га

Датум функције:

Они се користе за извођење манипулација датумима и конверзије типова датума из једног у други тип:

Назив функције Тип повратка Опис
Уник_Тиместамп () БигИнт Тренутну Уникову временску ознаку добићемо за неколико секунди
Датум_дате (временска ознака низа) низ Добиће и дати датум низа временске ознаке:
година (датум низа) ИНТ Преузеће и дати годишњи део датума или низа временске ознаке
квартал (датум / временска ознака / низ) ИНТ Преузеће и дати квартал године за датум, временску ознаку или низ у опсегу 1 до 4
месец (датум низа) ИНТ Даће месечни део датума или низ временске ознаке
сат (датум низа) ИНТ Преузеће и даће сат временске ознаке
минут (датум низа) ИНТ Преузеће и даће минут временске ознаке
Дате_суб (датум почетка низа, инт дани) низ Преузеће и дати Одузимање броја дана до датума почетка
Тренутни датум датум Преузеће и дати тренутни датум на почетку процене упита
ПОСЛЕДЊИ _дан (датум низа) низ Преузеће и дати последњи дан у месецу којем припада датум
трунц (датум низа, формат низа) низ Преузеће и датиће скраћени датум јединици одређеној форматом. Подржани формати у овом: МЕСЕЦ / МОН / ММ, ГОДИНА / ГГГГ / ГГ.

Математичке функције :

Ове функције се користе за математичке операције. Уместо да правимо УДФ, у Хиве имамо уграђене неке математичке функције.

Назив функције Тип повратка Опис
округли (ДОУБЛЕ Кс) ДОУБЛЕ Дохвата и враћа заокружену ВЕЛИКУ вредност Кс
округли (ДОУБЛЕ Кс, ИНТ д) ДОУБЛЕ Дохвата и враћа Кс заокружено на д децимале
приземље (ДОУБЛЕ Кс) ДОУБЛЕ Дохвата и враћа заокружену БИГИНТ вредност Кс помоћу начина заокруживања ХАЛФ_ЕВЕН
спрат (ДОУБЛЕ Кс) БИГИНТ Дохвата и враћа максималну БИГИНТ вредност која је једнака или мања од Кс вредности
плафон (ДОУБЛЕ а), плафон (ДОУБЛЕ а) БИГИНТ Дохвата и враћа минималну БИГИНТ вредност која је једнака или већа од Кс вредности
ранд (), ранд (ИНТ семе) ДОУБЛЕ Дохвата и враћа случајни број који је равномерно распоређен од 0 до 1

Условне функције:

Ове функције се користе за проверу условних вредности.

Назив функције Тип повратка Опис
иф (логички тестЦондитион, Т валуеТруе, Т валуеФалсеОрНулл) Т. Дохватаће и даје вредност Труе када је Тест Цондитион тачно, у супротном даје вредност Фалсе ор Нулл.
ИСНУЛЛ (Кс) Боолеан Дохватаће и даје труе ако је Кс НУЛЛ, а иначе фалсе.
ИСНОТНУЛЛ (Кс) Боолеан Дохватаће и даје труе ако Кс није НУЛЛ, а иначе фалсе.

Стринг функције:

Стринг манипулације и стринг операције ове функције се могу позвати.

Назив функције Тип повратка Опис
обрнуто (низ Кс) низ Даће обрнути низ Кс
рпад (стринг стр, инт ленгтх, стринг пад) низ Дохвата и даје стр, који је десно подстављен падом дужине дужине (целобројна вредност)
ртрим (низ Кс) низ Дохватиће и вратити низ који настаје резањем простора са краја (десна страна) Кс-а. На пример , ртрим ('резултати') резултира 'резултатима'
простор (ИНТ н) низ Дохватаће и даће низ од н размака.
сплит (СТРИНГ стр, СТРИНГ пат) низ Раздваја стр око пат (пат је регуларни израз).
Стр_то_мап (текст [, граничник1, граничник2]) мап <Стринг, Стринг> Подијелит ће текст у парове кључ / вриједност помоћу два граничника.

УДФ-ови (кориснички дефинисане функције):

У Хиве-у корисници могу да дефинишу сопствене функције како би задовољили одређене захтеве клијента. Они су познати као УДФ у кошници. Кориснички дефинисане функције написане на Јави за одређене модуле.

Неки од УДФ-ова су посебно дизајнирани за поновну употребу кода у оквирима апликација. Програмер ће развити ове функције на Јави и интегрирати те УДФ-ове са Хиве-ом.

Током извршавања упита, програмер може директно да користи код, а УДФ-ови ће вратити излазе у складу са кориснички дефинисаним задацима. Пружиће високе перформансе у погледу кодирања и извршавања.

На пример, за резање низа немамо ниједну унапред дефинисану функцију у Хиве-у, за то можемо написати матични УДФ у Јави. Где год нам је потребна матична функционалност, можемо директно назвати овај матични УДФ у кошници.

Овде функционална основа подразумева извођење речи из коренских речи. То је као да алгоритам резања смањује речи „жељети“, „желео“ и „жели“ на основну реч „жељети“. За извођење ове врсте функционалности, можемо писати УДФ у Јава и интегрисати са Хиве-ом.

У зависности од случајева употребе УДФ-а могу бити написани, он ће прихватити и произвести различит број улазних и излазних вредности.

Општи тип УДФ ће прихватити једну улазну вредност и произвести једну излазну вредност. Ако се УДФ користи у упиту, тада ће се УДФ позвати једном за сваки ред у скупу података резултата.

На други начин, може да прихвати групу вредности као улазну и да врати и једну излазну вредност.