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