Функције се граде за одређену сврху за извођење операција попут математичке, аритметичке, логичке и релационе на операндима имена колона табеле.
Уграђене функције
То су функције које су већ доступне у Хиве-у. Прво морамо да проверимо захтев апликације, а затим можемо да користимо ове уграђене функције у нашим апликацијама. Ове функције можемо позвати директно у нашој апликацији.
Синтакса и типови су поменути у следећем одељку.
Врсте уграђених функција у КОШНИЦИ
- Функције сакупљања
- Датум функције
- Математичке функције
- Условне функције
- Стринг функције
- Мисц. Функције
Функције колекције:
Ове функције се користе за колекције. Колекције значе да групирање елемената и враћање појединачних или низа елемената зависи од типа повратка наведеног у имену функције.
Тип повратка | Назив функције | Опис |
---|---|---|
ИНТ | величина (мапа <КВ>) | Преузеће и дати број компоненти у типу карте |
ИНТ | величина (низ <Т>) | Преузеће и дати број елемената у типу низа |
Низ <К> | Кључеви_мапе (Мапа <КВ>) | Преузеће и дати низ који садржи кључеве улазне мапе. Овде је низ неуређен |
Низ <В> | Вредности_мапе (Мапа <КВ>) | Преузеће и дати низ који садржи вредности улазне мапе. Овде је низ неуређен |
Низ <т> | Низ сортирања (низ <Т>) | сортира улазни низ у растућем низу низа и елемената и враћа га |
Датум функције:
Они се користе за извођење манипулација датумима и конверзије типова датума из једног у други тип:
Назив функције | Тип повратка | Опис |
---|---|---|
Уник_Тиместамп () | БигИнт | Тренутну Уникову временску ознаку добићемо за неколико секунди |
Датум_дате (временска ознака низа) | низ | Добиће и дати датум низа временске ознаке: |
година (датум низа) | ИНТ | Преузеће и дати годишњи део датума или низа временске ознаке |
квартал (датум / временска ознака / низ) | ИНТ | Преузеће и дати квартал године за датум, временску ознаку или низ у опсегу 1 до 4 |
месец (датум низа) | ИНТ | Даће месечни део датума или низ временске ознаке |
сат (датум низа) | ИНТ | Преузеће и даће сат временске ознаке |
минут (датум низа) | ИНТ | Преузеће и даће минут временске ознаке |
Дате_суб (датум почетка низа, инт дани) | низ | Преузеће и дати Одузимање броја дана до датума почетка |
Тренутни датум | датум | Преузеће и дати тренутни датум на почетку процене упита |
ПОСЛЕДЊИ _дан (датум низа) | низ | Преузеће и дати последњи дан у месецу којем припада датум |
трунц (датум низа, формат низа) | низ | Преузеће и датиће скраћени датум јединици одређеној форматом. Подржани формати у овом: МЕСЕЦ / МОН / ММ, ГОДИНА / ГГГГ / ГГ. |
Математичке функције :
Ове функције се користе за математичке операције. Уместо да правимо УДФ, у Хиве имамо уграђене неке математичке функције.
Назив функције | Тип повратка | Опис |
---|---|---|
округли (ДОУБЛЕ Кс) | ДОУБЛЕ | Дохвата и враћа заокружену ВЕЛИКУ вредност Кс |
округли (ДОУБЛЕ Кс, ИНТ д) | ДОУБЛЕ | Дохвата и враћа Кс заокружено на д децимале |
приземље (ДОУБЛЕ Кс) | ДОУБЛЕ | Дохвата и враћа заокружену БИГИНТ вредност Кс помоћу начина заокруживања ХАЛФ_ЕВЕН |
спрат (ДОУБЛЕ Кс) | БИГИНТ | Дохвата и враћа максималну БИГИНТ вредност која је једнака или мања од Кс вредности |
плафон (ДОУБЛЕ а), плафон (ДОУБЛЕ а) | БИГИНТ | Дохвата и враћа минималну БИГИНТ вредност која је једнака или већа од Кс вредности |
ранд (), ранд (ИНТ семе) | ДОУБЛЕ | Дохвата и враћа случајни број који је равномерно распоређен од 0 до 1 |
Условне функције:
Ове функције се користе за проверу условних вредности.
Назив функције | Тип повратка | Опис |
---|---|---|
иф (логички тестЦондитион, Т валуеТруе, Т валуеФалсеОрНулл) | Т. | Дохватаће и даје вредност Труе када је Тест Цондитион тачно, у супротном даје вредност Фалсе ор Нулл. |
ИСНУЛЛ (Кс) | Боолеан | Дохватаће и даје труе ако је Кс НУЛЛ, а иначе фалсе. |
ИСНОТНУЛЛ (Кс) | Боолеан | Дохватаће и даје труе ако Кс није НУЛЛ, а иначе фалсе. |
Стринг функције:
Стринг манипулације и стринг операције ове функције се могу позвати.
Назив функције | Тип повратка | Опис |
---|---|---|
обрнуто (низ Кс) | низ | Даће обрнути низ Кс |
рпад (стринг стр, инт ленгтх, стринг пад) | низ | Дохвата и даје стр, који је десно подстављен падом дужине дужине (целобројна вредност) |
ртрим (низ Кс) | низ | Дохватиће и вратити низ који настаје резањем простора са краја (десна страна) Кс-а. На пример , ртрим ('резултати') резултира 'резултатима' |
простор (ИНТ н) | низ | Дохватаће и даће низ од н размака. |
сплит (СТРИНГ стр, СТРИНГ пат) | низ | Раздваја стр око пат (пат је регуларни израз). |
Стр_то_мап (текст [, граничник1, граничник2]) | мап <Стринг, Стринг> | Подијелит ће текст у парове кључ / вриједност помоћу два граничника. |
УДФ-ови (кориснички дефинисане функције):
У Хиве-у корисници могу да дефинишу сопствене функције како би задовољили одређене захтеве клијента. Они су познати као УДФ у кошници. Кориснички дефинисане функције написане на Јави за одређене модуле.
Неки од УДФ-ова су посебно дизајнирани за поновну употребу кода у оквирима апликација. Програмер ће развити ове функције на Јави и интегрирати те УДФ-ове са Хиве-ом.
Током извршавања упита, програмер може директно да користи код, а УДФ-ови ће вратити излазе у складу са кориснички дефинисаним задацима. Пружиће високе перформансе у погледу кодирања и извршавања.
На пример, за резање низа немамо ниједну унапред дефинисану функцију у Хиве-у, за то можемо написати матични УДФ у Јави. Где год нам је потребна матична функционалност, можемо директно назвати овај матични УДФ у кошници.
Овде функционална основа подразумева извођење речи из коренских речи. То је као да алгоритам резања смањује речи „жељети“, „желео“ и „жели“ на основну реч „жељети“. За извођење ове врсте функционалности, можемо писати УДФ у Јава и интегрисати са Хиве-ом.
У зависности од случајева употребе УДФ-а могу бити написани, он ће прихватити и произвести различит број улазних и излазних вредности.
Општи тип УДФ ће прихватити једну улазну вредност и произвести једну излазну вредност. Ако се УДФ користи у упиту, тада ће се УДФ позвати једном за сваки ред у скупу података резултата.
На други начин, може да прихвати групу вредности као улазну и да врати и једну излазну вредност.