Selles õpetuses saate teada
- Mis on taru?
- Taruarhitektuur
- Taru erinevad režiimid
- Mis on Hive Server2 (HS2)?
Mis on taru?
Hive on Hadoopi hajutatud failisüsteemi (HDFS) peale välja töötatud ETL-i ja andmeside ladustamise tööriist. Taru muudab töö lihtsaks selliste toimingute tegemiseks nagu
- Andmete kapseldamine
- Ad-hoc päringud
- Tohutute andmekogumite analüüs
Taru olulised omadused
- Tarus luuakse kõigepealt tabelid ja andmebaasid ning seejärel laaditakse nendesse tabelitesse andmed.
- Taru andmelaona, mis on mõeldud ainult tabelites salvestatud struktureeritud andmete haldamiseks ja päringute esitamiseks.
- Struktureeritud andmetega tegelemisel pole Map Reduce'il optimeerimis- ja kasutamisfunktsioone nagu UDF-id, kuid Hive'i raamistikul on. Päringute optimeerimine viitab toimivuse osas tõhusale viisile päringute täitmiseks.
- Taru SQL-inspireeritud keel eraldab kasutaja Map Reduce'i programmeerimise keerukusest. Õppimise hõlbustamiseks taaskasutab relatsiooniandmebaasi maailmast tuttavaid mõisteid, nagu tabelid, read, veerud ja skeemid.
- Hadoopi programmeerimine töötab tasastel failidel. Nii saab Hive kasutada kataloogistruktuure andmete "jaotamiseks", et parandada teatud päringute jõudlust.
- Hive'i uus ja oluline komponent, st Metastore, mida kasutatakse skeemiteabe salvestamiseks. See metapood asub tavaliselt relatsioonide andmebaasis. Me saame Hive'iga suhelda, kasutades selliseid meetodeid
- Veebi GUI
- Java Database Connectivity (JDBC) liides
- Enamik interaktsioone toimub enamasti käsurea liidese (CLI) kaudu. Taru pakub kliendipunkti tarude päringute kirjutamiseks taru päringukeele (HQL) abil
- Üldiselt sarnaneb HQL-i süntaks SQL-i süntaksiga, mida enamik andmeanalüütikuid tunneb. Allpool olevas näidispäringus kuvatakse kõik tabeli nimetuses olevad kirjed.
- Näidise päring : valige
alt *
- Näidise päring : valige
- 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 juhtum kasutab Hive MYSQL-i.
MySQL-i seadistamiseks andmebaasina ja metaandmete teabe salvestamiseks kontrollige õpetust "HIVE ja MYSQL-i installimine ja konfigureerimine"
Mõned peamised punktid taru kohta:
- Peamine erinevus HQL-i ja SQL-i vahel on see, et Hive'i päring käivitatakse Hadoopi infrastruktuuris, mitte traditsioonilises andmebaasis.
- Taru päringu täitmine saab olema nagu automaatselt genereeritud kaartide seeria, mis vähendab töökohti.
- Hive toetab partitsioonide ja ämbrite kontseptsioone andmete hõlpsaks taastamiseks, kui klient päringu täidab.
- Hive toetab andmete puhastamiseks, filtreerimiseks jne kohandatud spetsiifilisi UDF-i (User Defined Functions). Vastavalt programmeerijate nõudmistele saab määratleda Hive UDF-id.
Taru vs suhtelised andmebaasid: -
Hive'i abil saame teha mõningaid omapäraseid funktsioone, mida Relatsioonandmebaasid ei saavuta. Peta-baitides oleva tohutu hulga andmete jaoks on nende päringute esitamine ja sekundites tulemuste saavutamine oluline. Ja Hive teeb seda üsna tõhusalt, töötleb päringuid kiiresti ja annab tulemusi sekundi pärast.
Vaatame nüüd, mis teeb taru nii kiiresti.
Mõned peamised erinevused Hive'i ja relatsiooniliste andmebaaside vahel on järgmised;
Relatsioonandmebaasid on " skeemil READ ja skeemil kirjutamine ". Kõigepealt loo tabel, seejärel sisestage andmed konkreetsesse tabelisse. Relatsioonandmebaasi tabelites saab teha selliseid funktsioone nagu lisamised, värskendused ja muudatused.
Taru on " Ainult skeem ainult LOE ". Niisiis, funktsioonid nagu värskendus, muudatused jne ei tööta sellega. Kuna tüüpilise klastri Hive'i päring töötab mitmel andmesõlmel. Seega pole mitme sõlme andmeid võimalik värskendada ja muuta. (Taru versioonid alla 0,13)
Samuti toetab Hive mustrit " LUGEGE palju KIRJUTA ". Mis tähendab, et pärast tabeli sisestamist saame tabelit värskendada Hive'i uusimates versioonides.
MÄRKUS . Kuid taru uuel versioonil on värskendatud funktsioonid. Tarude versioonid (Hive 0.14) pakuvad uute funktsioonidena värskendus- ja kustutamisvalikuid
Taruarhitektuur
Ülaltoodud ekraanipilt selgitab Apache Hive'i arhitektuuri üksikasjalikult
Taru koosneb peamiselt kolmest põhiosast
- Tarukliendid
- Taruteenused
- Tarude hoiustamine ja arvutid
Taru kliendid:
Hive pakub erinevat tüüpi rakendustega suhtlemiseks erinevaid draivereid. Thriftil põhinevate rakenduste jaoks pakub see Thrifti klienti suhtlemiseks.
Java-ga seotud rakenduste jaoks pakub see JDBC-draivereid. Muud kui mis tahes tüüpi rakendused pakuvad ODBC draivereid. Need kliendid ja draiverid suhtlevad omakorda taru teenustes Hive serveriga.
Tarude teenused:
Hive'i saab klientidega suhelda Hive Services kaudu. Kui klient soovib Hive'is teha mis tahes päringutega seotud toiminguid, peab ta suhtlema Hive Services'i kaudu.
CLI on käsurea liides, mis toimib DDL (Data Definition Language) toimingute jaoks taru teenusena. Kõik draiverid suhtlevad Hive'i serveri ja Hive-teenuste peamise draiveriga, nagu on näidatud ülaltoodud arhitektuuriskeemil.
Taru teenustes olev juht esindab peamist draiverit ja see edastab igat tüüpi JDBC, ODBC ja muid kliendispetsiifilisi rakendusi. Juht töötleb neid taotlusi erinevatelt rakendustelt metapoodidesse ja välisüsteemidesse edasiseks töötlemiseks.
Taru ladustamine ja arvutid:
Taruteenused, nagu metapood, failisüsteem ja tööklient, suhtlevad omakorda taru salvestusruumiga ja täidavad järgmisi toiminguid
- Tarus loodud tabelite metaandmete teave salvestatakse taru "Meta storage andmebaasi".
- Päringute tulemused ja tabelitesse laaditud andmed salvestatakse HF-klastris HDFS-is.
Töö teostamise voog:
Ülaltoodud ekraanipildi põhjal saame aru, kuidas Hadoopiga tarus töö täidetakse
Tarus toimuv andmevoog käitub järgmise mustriga;
- Päringu täitmine kasutajaliideselt (kasutajaliides)
- Juht suhtleb plaani saamiseks Compileriga. (Siin plaan viitab päringu täitmisele) protsess ja sellega seotud metaandmete teabe kogumine
- Koostaja loob täidetava töö plaani. Metaandmete päringu saamiseks suhtleb koostaja Meta poega
- Meta-pood saadab metaandmete teabe koostajale tagasi
- Kompilaator suhtleb draiveriga pakutud päringu täitmise plaaniga
- Juhi täitmisplaanide saatmine täitmismootorile
- Execution Engine (EE) toimib pärandi töötlemisel sillana Hive ja Hadoop vahel. DFS-i toiminguteks.
- EE peaks tabelites salvestatud väärtuste saamiseks kõigepealt ühendust võtma Nimesõlmega ja seejärel Andmesõlmedega.
- EE hakkab andmesõlmedelt soovitud kirjeid tooma. Tabelite tegelikud andmed asuvad ainult andmesõlmes. Kui Nimesõlmelt saab see ainult päringu metaandmete teavet.
- See kogub tegelikke andmeid nimetatud päringuga seotud andmesõlmedest
- Execution Engine (EE) suhtleb Hive'is asuva metapoega kahesuunaliselt, et sooritada DDL (Data Definition Language) toiminguid. Siin tehakse DDL-i toiminguid nagu CREATE, DROP ja ALTERING tabelid ja andmebaasid. Meta pood salvestab teavet ainult andmebaasi nime, tabelite nimede ja veergude nimede kohta. See tõmbab mainitud päringuga seotud andmeid.
- Execution Engine (EE) omakorda suhtleb Hadoopi failisüsteemi peal oleva päringu täitmiseks Hadoopi deemonitega, nagu Nimesõlm, Andmesõlmed ja Tööjälgija
- Tulemuste toomine draiverilt
- Tulemuste saatmine täitmismootorile. Kui tulemused on saadud andmesõlmedest EE-le, saadab see tulemused tagasi draiverile ja kasutajaliidesele (esiosa)
Hive Pidevalt kontaktis Hadoopi failisüsteemi ja selle deemonitega Execution mootori kaudu. Töö vooskeemil olev täpiline nool näitab täitemootori sidet Hadoopi deemonitega.
Taru erinevad režiimid
Taru võib töötada kahes režiimis, sõltuvalt Hadoopi andmesõlmede suurusest.
Need režiimid on
- Kohalik režiim
- Kaardi vähendamise režiim
Millal kasutada kohalikku režiimi:
- Kui Hadoop installiti pseudorežiimis ühe andmesõlmega, kasutame selles režiimis Hive'i
- Kui andmeside suurus on väiksem, piirdudes ühe kohaliku masinaga, saame seda režiimi kasutada
- Töötlemine toimub kohalikus masinas olevate väiksemate andmekogumite puhul väga kiiresti
Millal kasutada režiimi Kaardi vähendamine:
- Kui Hadoopil on mitu andmesõlme ja andmed on jaotatud erinevate sõlmede vahel, kasutame selles režiimis Hive'i
- See toimib suure hulga andmekogumite korral ja paralleelselt käivitatavad päringud
- Selle režiimi kaudu on võimalik töödelda suuri andmekogumeid parema jõudlusega
Tarus saame selle omaduse seada mainima, millist režiimi taru võib töötada? Vaikimisi töötab see režiimis Map Reduce ja kohaliku režiimi jaoks saate seadistada järgmise sätte.
Taru töötab kohalikus režiimis
SET mapred.job.tracker = kohalik;
Alates taru versioonist 0.7 toetab see režiimi, et käivitada kaart, vähendades töökohti automaatselt kohalikus režiimis.
Mis on Hive Server2 (HS2)?
HiveServer2 (HS2) on serveri liides, mis täidab järgmisi funktsioone:
- Võimaldab kaugklientidel Hive'i vastu päringuid täita
- Too mainitud päringute tulemused
Alates uusimast versioonist on sellel mõned täiustatud funktsioonid, mis põhinevad Thrift RPC-l;
- Mitme kliendi samaaegsus
- Autentimine
Kokkuvõte:
Hive on Hadoopi ökosüsteemi peal paiknev ETL- ja andmelao tööriist, mida kasutatakse struktureeritud ja poolstruktureeritud andmete töötlemiseks.
- Hive on Hadoopi ökosüsteemis olev andmebaas, mis teostab DDL- ja DML-toiminguid, ning pakub paremat päringut ja andmete töötlemist paindlikku päringukeelt nagu HQL.
- See pakub nii palju funktsioone kui RDMS, millel on teatud piirangud.
Kasutajale spetsiifilise loogika jaoks, et see vastaks kliendi nõuetele.
- See pakub võimalust kohandatud määratletud skriptide ja kasutaja määratud funktsioonide kirjutamiseks ja juurutamiseks.
- Lisaks pakub see sektsioone ja ämbreid spetsiifiliste loogikate jaoks.