HiveQL (tarude päringukeel) õpetus: sisseehitatud operaatorid

Lang L: none (table-of-contents):

Anonim

Mis on HiveQL (tarude päringukeel)?

Hive pakub klaviatuuri tarupäringute kirjutamiseks Hive Query Language (HiveQL) abil. Üldiselt sarnaneb HQL-i süntaks SQL-i süntaksiga, mida enamik andmeanalüütikuid tunneb.

Taru SQL-inspireeritud keel eraldab kasutaja Map Reduce'i programmeerimise keerukusest. Õppimise hõlbustamiseks taaskasutab relatsioonide andmebaasimaailmast tuttavaid mõisteid, näiteks tabeleid, ridu, veerge ja skeeme.

Enamik interaktsioone toimub enamasti käsurea liidese (CLI) kaudu. Hive pakub klaviatuuri tarupäringute kirjutamiseks tarude päringukeele (Hive-QL) abil.

Üldiselt sarnaneb HiveQL-i süntaks SQL-i süntaksiga, mida enamik andmeanalüütikuid tunneb. Hive toetab nelja failivormingut, milleks on TEXTFILE, SEQUENCEFILE, ORC ja RCFILE (veerufaili kirje).

  • Ühe kasutaja metaandmete salvestamiseks kasutab Hive derby andmebaasi ja
  • Mitme kasutaja metaandmete või jagatud metaandmete puhul kasutab Hive MYSQL-i

Sisseehitatud operaatorid

Hive pakub sisseehitatud operaatorid andmeoperatsioonide jaoks, mis tuleb rakendada Hive'i laos asuvatel tabelitel.

Neid operaatoreid kasutatakse operandide matemaatilisteks toiminguteks ja see annab konkreetse väärtuse vastavalt rakendatud loogikale.

HIVE sisseehitatud operaatorite tüübid on järgmised:

  • Suheteoperaatorid
  • Aritmeetikaoperaatorid
  • Loogilised operaatorid
  • Operaatorid keerukatel tüüpidel
  • Komplekstüüpi konstruktorid

Suhtelised operaatorid:

Kahe operandi suhte võrdlemiseks kasutame relatsioonoperaatoreid.

  • Operaatorid nagu võrdne, Pole võrdne, väiksem kui suurem kui… jne
  • Operanditüübid on nende operaatorite kõik numbritüübid.

Järgmine tabel annab meile üksikasjad relatsioonide operaatorite ja nende kasutamise kohta.

Sisseehitatud operaator Kirjeldus Operand
X = Y TÕENE, kui avaldis X on samaväärne avaldisega Y Muidu FALSE. See võtab kõik primitiivsed tüübid
X! = Y TÕENE, kui avaldis X ei ole samaväärne avaldisega Y Muidu FALSE. See võtab kõik primitiivsed tüübid
X TÕENE, kui avaldis X on väiksem kui avaldis Y Muidu FALSE. See võtab kõik primitiivsed tüübid
X <= Y TÕENE, kui avaldis X on väiksem või võrdne avaldisega Y Muidu FALSE. See võtab kõik primitiivsed tüübid
X> Y TÕENE, kui avaldis X on suurem kui avaldis Y Muidu FALSE. See võtab kõik primitiivsed tüübid
X> = Y TÕENE, kui avaldis X on suurem kui avaldisega Y või sellega võrdne, vastasel juhul FALSE. See võtab kõik primitiivsed tüübid
X ON NULL TÕENE, kui avaldise X väärtuseks on NULL muidu FALSE. Selleks on vaja kõiki tüüpe
X EI OLE NULL FALSE Kui avaldise X väärtuseks on NULL, siis see on tõene. Selleks on vaja kõiki tüüpe
X NAGU Y TÕENE Kui stringimuster X sobib Y-ga, vastasel juhul on FALSE. Võtab ainult stringe
X MEELDIB Y NULL, kui X või Y on NULL, TRUE, kui mõni X alamstring sobib Java regulaaravaldisega Y, muidu FALSE. Võtab ainult stringe
X REGEXP Y Sama mis RLIKE. Võtab ainult stringe

Aritmeetikaoperaatorid :

Operandide aritmeetiliste toimingute tegemiseks kasutame aritmeetilisi operaatoreid

  • Aritmeetilisi toiminguid, nagu liitmine, lahutamine, korrutamine ja jagamine operandide vahel, kasutame neid operaatoreid.
  • Kõik operanditüübid on nende operaatorite arvutüübid

Näidisnäide:

2 + 3 annab tulemuse 5.

Selles näites on '+' operaator ja 2 ja 3 operandid. Tagastusväärtus on 5

Järgmine tabel annab meile üksikasjad aritmeetikaoperaatorite kohta

Sisseehitatud operaator Kirjeldus Operand
X + Y See tagastab X ja Y väärtuse liitmise väljundi. Selleks on vaja kõiki numbritüüpe
X - Y See tagastab Y väärtusest lahutamise väljundi. Selleks on vaja kõiki numbritüüpe
X * Y See tagastab X ja Y väärtuste korrutamise väljundi. Selleks on vaja kõiki numbritüüpe
X / Y See tagastab Y jagamise väljundi X-st. Selleks on vaja kõiki numbritüüpe
X% Y See tagastab ülejäänud osa, mis tuleneb X jagamisest Y-ga. Selleks on vaja kõiki numbritüüpe
X ja Y See tagastab X ja Y biti JA väljundi. Selleks on vaja kõiki numbritüüpe
X | Y See tagastab X ja Y biti OR väljundi. Selleks on vaja kõiki numbritüüpe
X Y See tagastab X ja Y biti XOR väljundi. Selleks on vaja kõiki numbritüüpe
~ X See tagastab X-i bitti väljundi. Selleks on vaja kõiki numbritüüpe

Loogilised operaatorid:

Operandide loogiliste toimingute tegemiseks kasutame loogilisi operaatoreid

  • Loogilised toimingud, näiteks JA, VÕI EI EI operandide vahel, kasutame neid operaatoreid.
  • Kõik operanditüübid on nendes operaatorites BOOLEAN tüüpi

Järgmine tabel annab meile üksikasjad loogiliste operaatorite kohta

Operaatorid Kirjeldus Operandid
X JA Y TÕENE, kui nii X kui Y on tõesed, muidu VÄÄR. Ainult tõeväärtuse tüübid
X && Y Sama mis X JA Y, kuid siin kasutame && sümbolit Ainult tõeväärtuse tüübid
X VÕI Y TÕENE, kui kas X või Y või mõlemad on tõesed, muidu VÄÄR. Ainult tõeväärtuse tüübid
X || Y Sama mis X VÕI Y, kuid siin kasutame || sümbol Ainult tõeväärtuse tüübid
EI X TÕENE, kui X on FALSE, muidu FALSE. Ainult tõeväärtuse tüübid
! X Sama mis EI X, kuid siin me kasutame! sümbol Ainult tõeväärtuse tüübid

Operaatorid keerulistes tüüpides:

Järgmine tabel annab meile üksikasjad komplekstüüpi operaatorite kohta. Need on operaatorid, kes pakuvad erinevat tüüpi elementidele juurdepääsuks erinevat mehhanismi.

Operaatorid Operandid Kirjeldus
A [n] A on massiiv ja n on täisarvu tüüp See tagastab massiivi n-nda elemendi. Esimese elemendi indeks on 0
M [klahv] M on kaart ja võtmel on tüüp K See tagastab kaardil olevale võtmele kuuluvad väärtused

Komplekssed konstruktorid:

Järgmine tabel annab meile üksikasjaliku ülevaate keerukat tüüpi konstruktorite kohta. See konstrueerib eksemplare keerukatele andmetüüpidele. Need on keerulised andmetüübid, näiteks Massiiv, Kaart ja Struktuuri tüübid Hive'is.

Selles jaotises näeme kompleksi tüüpi konstruktoritega tehtud toiminguid.

Operaatorid Operandid Kirjeldus
massiiv (val1, val2,…) See loob antud elementidega massiivi nagu val1, val2
Loo_ liit (silt, val1, val2,…) See loob liidu tüübi väärtustega, mida märgendi parameeter mainib
kaart (võti1, väärtus1, võti2, väärtus2,…) See loob kaardi, kus operandid on mainitud antud võtme / väärtuse paaridega
Nimega_struktuur (nimi1, val1, nimi2, val2,…) See loob struktuuri, mille operandides on nimetatud väljade nimed ja väärtused
STRUKTUUR (val1, val2, val3,…) Loob antud välja väärtustega struktuuri. Struktuursete väljade nimed on col1, col2,.

Kokkuvõte:

Hive pakub Hive'i lattu salvestatud andmetega manipuleerimiseks mõningaid sisseehitatud funktsioone ja operaatoreid. Taru sarnaneb SQL-i keelega, mis toetab igat tüüpi andmetoiminguid ja tabelites ning andmebaasides päringuid.