Populiariausios avilio komandos su HQL pavyzdžiais



Šiame tinklaraštyje aptariamos avilio komandos su pavyzdžiais HQL. SUKURTI, NURODYTI, TRUNCATUOTI, KEISTI, RODYTI, APRAŠYTI, NAUDOTI, ĮKROSTI, ĮDĖTI, PRISIJUNGTI ir dar daug kitų avilio komandų

Šiame tinklaraščio įraše aptarkime geriausias avilio komandas su pavyzdžiais. Šios avilio komandos yra labai svarbios norint sukurti pagrindą .

„Edureka 2019“ karjeros vadovas išėjo! Gidiausi darbo vaidmenys, tikslūs mokymosi keliai, pramonės perspektyvos ir dar daugiau. parsisiųsti dabar.

Kas yra avilys?

„Apache Hive“ yra duomenų sandėlio sistema, sukurta veikti „Hadoop“. Jis naudojamas užklausoms ir valdyti didelius duomenų rinkinius, esančius paskirstytoje saugykloje. Prieš tapdamas „Apache Hadoop“ atvirojo kodo projektu, „Hive“ atsirado „Facebook“. Tai suteikia mechanizmą, leidžiantį projektuoti struktūrą ant „Hadoop“ duomenų ir pateikti užklausą tiems duomenims naudojant į SQL panašią kalbą, vadinamą HiveQL (HQL).





„Hive“ naudojamas, nes „Hive“ lentelės yra panašios į reliacinės duomenų bazės lenteles. Jei esate susipažinę su SQL, tai yra tortas. Daugelis vartotojų vienu metu gali pateikti užklausą duomenims naudodami „Hive-QL“.

Kas yra HQL?

„Hive“ apibrėžia paprastą į SQL panašų užklausos kalbą didelių duomenų rinkinių, vadinamų „Hive-QL“ (HQL), užklausoms ir valdymui. Tai lengva naudoti, jei esate susipažinę su SQL kalba. „Hive“ leidžia programuotojams, kurie yra susipažinę su kalba, parašyti pasirinktinę „MapReduce“ sistemą, kad atliktų sudėtingesnę analizę.



Avilio naudojimas:

1. Apache Hive paskirstyta saugykla.

2. „Hive“ pateikia įrankius, leidžiančius lengvai išgauti / transformuoti / įkelti duomenis (ETL)

3. Jame pateikiama įvairių duomenų formatų struktūra.



4. Naudodamiesi „Hive“, mes galime pasiekti failus, saugomus „Hadoop“ paskirstytoje failų sistemoje (HDFS yra naudojamas užklausoms teikti ir valdyti didelius duomenų rinkinius, esančius), ar kitose duomenų saugojimo sistemose, tokiose kaip „Apache HBase“.

Avilio apribojimai:

& bull avilys nėra skirtas internetiniam operacijų apdorojimui (OLTP), jis naudojamas tik internetiniam analitiniam apdorojimui.

& bull avilys palaiko duomenų perrašymą ar sulaikymą, tačiau neatnaujina ir neištrina.

& bull Avilyje antrinės užklausos nepalaikomos.

Kodėl avilys naudojamas nepaisant kiaulės?

Nepaisant to, kad Kiaulė yra prieinama, avilys naudojamas taip:

  • „Hive-QL“ yra deklaratyvi kalbos eilutė SQL, „PigLatin“ - duomenų srauto kalba.
  • Kiaulė: duomenų srauto kalba ir aplinka labai dideliems duomenų rinkiniams tirti.
  • Avilys: paskirstytas duomenų sandėlis.

Avilio komponentai:

„Metastore“:

„Hive“ saugo „Hive“ lentelių schemą „Hive Metastore“. „Metastore“ naudojama laikyti visą informaciją apie lenteles ir pertvaras, esančias sandėlyje. Pagal numatytuosius nustatymus metastvarka vykdoma tame pačiame procese kaip ir „Hive“ paslauga, o numatytasis „Metastore“ yra „DerBy Database“.

SerDe:

„Serializer“, „Deserializer“ pateikia nurodymus, kaip apdoroti įrašą.

Avilio komandos:

Duomenų apibrėžimo kalba (DDL)

DDL sakiniai naudojami lentelėms ir kitiems duomenų bazės objektams kurti ir modifikuoti.

DDL komanda Funkcija
SUKURTI Jis naudojamas kuriant lentelę arba duomenų bazę
RODYTI Jis naudojamas rodyti duomenų bazę, lentelę, ypatybes ir kt
AMŽIUS Jis naudojamas esamai lentelei keisti
APIBŪDINTI Jis apibūdina lentelės stulpelius
TRUNCATE Naudojamas visam laikui sutrumpinti ir ištrinti lentelės eilutes
IŠTRINTI Ištrina lentelės duomenis, bet, juos galima atkurti

Eikite į „Hive“ apvalkalą suteikdami komandą „sudo hive“ ir įveskite komandą ‘Kurti duomenų bazė vardas> sukurti naują duomenų bazę avilyje.

Sukurkite „Hive“ duomenų bazę naudodami „Hive“ komandas

Norėdami išvardyti avilio sandėlio duomenų bazes, įveskite komandą „ rodyti duomenų bazes “.

Duomenų bazė sukuriama numatytoje „Hive“ sandėlio vietoje. „Cloudera“, „Hive“ duomenų bazių parduotuvėje, esančioje „/ user / hive / sand“.

Komanda naudoti duomenų bazę yra NAUDOTI

Nukopijuokite įvesties duomenis į HDFS iš vietinio, naudodami komandą „Copy From Local“.

Kai mes kuriame lentelę avilyje, ji sukuriama numatytoje avilio sandėlio vietoje. - „/ user / avilys / sandėlis“, sukūrę lentelę galime perkelti duomenis iš HDFS į avilio lentelę.

Ši komanda sukuria lentelę „/user/hive/warehouse/retail.db“ vietoje

Pastaba: retail.db yra „Hive“ sandėlyje sukurta duomenų bazė.

Apibūdinti pateikia informaciją apie lentelės schemą.

Duomenų manipuliavimo kalba (DML)

DML sakiniai naudojami duomenims gauti, saugoti, modifikuoti, ištrinti, įterpti ir atnaujinti duomenų bazėje.

Pavyzdys :

ĮKELTI, ĮDĖTI pareiškimus.

Sintaksė:

Įkelti duomenis į lentelę [lentename]

„Load“ operacija naudojama duomenims perkelti į atitinkamą „Hive“ lentelę. Jei raktinis žodis vietinis yra nurodytas, tada komandoje load bus nurodytas vietinis failų sistemos kelias. Jei raktinis žodis nenurodytas, turime naudoti failo kelią HDFS.

Keletas komandų LOAD data LOCAL pavyzdžių

Įkėlę duomenis į „Hive“ lentelę galime pritaikyti duomenų tvarkymo pareiškimus arba kaupimo funkcijos gauti duomenis.

Pavyzdys suskaičiuoti įrašų skaičių:

Naudojama skaičiavimo suvestinė funkcija skaičiuoja bendrą lentelės įrašų skaičių.

dvejetainis - dešimtainis keitiklis java

„Sukurti išorinę“ lentelę:

The sukurti išorinį raktinis žodis naudojamas lentelei sukurti ir pateikia vietą, kur lentelė sukurs, kad „Hive“ nenaudotų šios lentelės numatytosios vietos. An IŠORĖ lentelė nurodo bet kurią HDFS vietą, kur ji saugoma, o ne numatytąją saugyklą.

Įterpti komandą:

The Įdėti komanda naudojama įkrauti duomenų avilio lentelę. Įdėklus galima atlikti prie stalo ar skaidinio.

& bull INSERT OVERWRITE naudojamas perrašyti esamus duomenis lentelėje ar skaidinyje.

& bull INSERT INTO naudojamas pridėti duomenis prie esamų lentelės duomenų. (Pastaba: INSERT INTO sintaksė veikia nuo versijos 0.8)

„Partitioned By“ ir „Clustered By“ komandų pavyzdys:

‘Padalinta ‘Naudojamas dalyti lentelę į skaidinį ir gali būti suskirstytas į grupes naudojant‘ Susitelkė ‘Komanda.

<> operatorius kv

Kai įterpiame duomenų avilio metimo klaidas, dinaminio skaidinio režimas yra griežtas, o dinaminis skaidinys neįjungtas ( Džefas prie suknelių galvos svetainė ). Taigi „Hive“ apvalkale turime nustatyti šiuos parametrus.

nustatyti avilį.exec.dynamic.partition = true

Pagal numatytuosius nustatymus įgalinti dinaminius skaidinius neteisinga

nustatyti avilį.exec.dynamic.partition.mode = neapribotas

Padalijimas atliekamas pagal kategoriją ir gali būti suskirstytas į grupes naudojant komandą „Clustered By“.

Išrašas „Drop Table“ ištrina lentelės duomenis ir metaduomenis. Išorinių lentelių atveju ištrinami tik metaduomenys.

Išrašas „Drop Table“ ištrina lentelės duomenis ir metaduomenis. Išorinių lentelių atveju ištrinami tik metaduomenys.

Įkelkite duomenų vietinį kelią „aru.txt“ į lentelės lentelės pavadinimą, tada patikriname darbuotojo1 lentelę naudodami komandą Pasirinkti * iš lentelės pavadinimo

Norėdami suskaičiuoti įrašų skaičių lentelėje naudodami Pasirinkti skaičius (*) nuo txnrecords

Apibendrinimas:

Pasirinkite skaičių (DISTINCT kategorija) iš stalo pavadinimo

Ši komanda suskaičiuos skirtingą „cate“ lentelės kategoriją. Čia yra 3 skirtingos kategorijos.

Tarkime, kad yra dar viena lentelės kategorija, kur f1 yra kategorijos lauko pavadinimas.

Grupavimas:

Grupės komanda naudojama rezultatų grupei sugrupuoti pagal vieną ar daugiau stulpelių.

Pasirinkite kategoriją, sumą (sumą) iš txt įrašų grupės pagal kategoriją

Jis apskaičiuoja tos pačios kategorijos kiekį.

Rezultatas viena lentelė yra saugoma kitoje lentelėje.

Sukurkite lentelę newtablename as select * from oldtablename

Prisijunkite prie komandos:

Čia pavadinime sukurta dar viena lentelė „Laiškai“

Prisijungti prie operacijos :

Sujungimo operacija atliekama derinant laukus iš dviejų lentelių naudojant kiekvienai bendras vertes.

Kairysis išorinis prisijungimas :

Kairiojo išorinio sujungimo (arba tiesiog kairės jungties) lentelėse A ir B rezultate visada yra visi „kairiosios“ lentelės (A) įrašai, net jei prisijungimo sąlyga lentelėje „dešinė“ neranda jokio atitinkančio įrašo (B).

Dešinysis išorinis prisijungimas :

Dešinysis išorinis sujungimas (arba dešinysis sujungimas) labai panašus į kairįjį išorinį sujungimą, išskyrus atvejus, kai lentelės apdorojamos atvirkščiai. Kiekviena „dešinės“ lentelės (B) eilutė bent kartą pasirodys sujungtoje lentelėje.

Visiškai prisijungti :

Sujungtoje lentelėje bus visi įrašai iš abiejų lentelių ir užpildykite NULL už trūkstamas rungtynes ​​iš abiejų pusių.

Kai atliksime su aviliu, galime naudoti komandą quit, kad išeitumėte iš avilio lukšto.

Išėjimas iš avilio

Avilys yra tik dalis didžiojo galvosūkio, vadinamo „Big Data“ ir „Hadoop“. Hadoopas yra daug daugiau nei tik avilys. Spustelėkite žemiau, kad pamatytumėte, kokius kitus įgūdžius turėtumėte įvaldyti „Hadoop“.

Turite mums klausimą? Prašau paminėti tai komentarų skiltyje ir mes su jumis susisieksime.

Susijusios žinutės:

7 būdai, kaip „Big Data“ mokymai gali pakeisti jūsų organizaciją

Avilio duomenų modeliai