Hive je široko korišten alat Big Data Analytics u poslovanju i fantastično je mjesto za početak ako ste novi u Big Data. Ova lekcija Apache Hive prolazi kroz osnove Apache Hive, zašto je košnica neophodna, njene karakteristike i sve ostalo što biste trebali znati.
Hajde da prvo shvatimo Hadoop okvir na kojem je izgrađen Apache Hive.
Apache Hadoop
Apache Hadoop je besplatan i Open-source platforma za skladištenje i obradu velikih skupova podataka veličine od gigabajta do petabajta. Hadoop omogućava grupisanje brojnih računara za paralelnu analizu ogromnih skupova podataka, umjesto da zahtijeva jedan veliki računar za skladištenje i analizu podataka.
MapReduce i Hadoop Distributed File System su dvije komponente:
- MapReduce – MapReduce je tehnika paralelnog programiranja za rukovanje ogromnim količinama organiziranih, polustrukturiranih i nestrukturiranih podataka o klasterima robnog hardvera.
- HDFS – HDFS (Hadoop Distributed File System) je komponenta Hadoop okvira koja pohranjuje i obrađuje podatke. To je sistem datoteka otporan na greške koji radi na standardnom hardveru
Različiti pod-projekti (alati) u Hadoop ekosistemu, uključujući Sqoop, Pig i Hive, koriste se za pomoć Hadoop modulima.
- košnica – Hive je okvir za pisanje skripti u SQL stilu koje izvode MapReduce proračune.
- svinja – Pig je proceduralni programski jezik koji se može koristiti za kreiranje skripte za MapReduce procese.
- Sqoop – Sqoop je alat za uvoz i izvoz podataka između HDFS-a i RDBMS-a.
Šta je Apache Hive?
Apache Hive je open source skladište podataka program za čitanje, pisanje i upravljanje ogromnim skupovima podataka pohranjenih direktno u Apache Hadoop Distributed File System (HDFS) ili drugim sistemima za skladištenje podataka kao što je Apache HBase.
SQL programeri mogu koristiti Hive za kreiranje izraza Hive Query Language (HQL) za upite podataka i analizu koji su uporedivi sa redovnim SQL izrazima. Stvoren je da olakša programiranje MapReduce eliminirajući potrebu za učenjem i pisanjem dugog Java koda. Umjesto toga, možete pisati svoje upite u HQL-u, a Hive će izgraditi mapu i smanjiti funkcije umjesto vas.
Sučelje Apache Hive nalik SQL-u postalo je zlatni standard za obavljanje ad-hoc pretraživanja, sumiranja i analize Hadoop podataka. Kada je uključen u oblak računarske mreže, ovo rješenje je posebno isplativo i skalabilno, zbog čega mnoge firme, uključujući Netflix i Amazon, nastavljaju da razvijaju i poboljšavaju Apache Hive.
istorija
Tokom svog vremena na Facebooku, Joydeep Sen Sarma i Ashish Suchoo zajedno su kreirali Apache Hive. Oboje su prepoznali da će morati da kreiraju neke prilično komplikovane zadatke Java Map-Reduce da bi izvukli maksimum iz Hadoopa. Shvatili su da neće biti u mogućnosti da obrazuju svoje inženjerske i analitičke timove koji se brzo šire o vještinama koje su im potrebne za korištenje Hadoop-a u cijeloj kompaniji. Inženjeri i analitičari su često koristili SQL kao korisnički interfejs.
Dok bi SQL mogao zadovoljiti većinu analitičkih potreba, programeri su također namjeravali da ugrade Hadoop-ovu programibilnost. Apache Hive je proizašao iz ova dva cilja: deklarativnog jezika baziranog na SQL-u koji je također omogućio programerima da unesu vlastite skripte i programe kada SQL nije bio dovoljan.
Također je razvijen za držanje centraliziranih metapodataka (baziranih na Hadoop-u) o svim skupovima podataka u kompaniji kako bi se olakšala konstrukcija organizacija vođenih podacima.
Kako Apache Hive radi?
Ukratko, Apache Hive konvertuje ulazni program napisan u jeziku HiveQL (sličan SQL-u) u jedan ili više zadataka Java MapReduce, Tez ili Spark. (Svi ovi pokretači za izvršavanje su kompatibilni sa Hadoop YARN.) Nakon toga, Apache Hive raspoređuje podatke u tabele za Hadoop Distributed File System HDFS) i izvršava zadatke na klasteru kako bi dobio odgovor.
podaci
Apache Hive tabele su uređene na isti način kao što su organizovane tabele u relacionoj bazi podataka, sa jedinicama podataka u rasponu veličine od većih do manjih. Baze podataka se sastoje od tabela koje su podijeljene u podjele, koje se dalje dijele na segmente. HiveQL (Hive Query Language) se koristi za pristup podacima, koji se mogu mijenjati ili dodavati. Podaci tablice se serijaliziraju unutar svake baze podataka, a svaka tablica ima svoj HDFS direktorij.
Arhitektura
Sada ćemo govoriti o najvažnijem aspektu arhitekture košnica. Komponente Apache Hive-a su sljedeće:
Metastore — Prati informacije o svakoj tabeli, kao što su njena struktura i lokacija. Metapodaci particije su također uključeni u Hive. Ovo omogućava vozaču da prati napredak različitih skupova podataka raspoređenih po klasteru. Podaci se pohranjuju u konvencionalnom RDBMS formatu. Metapodaci košnice su izuzetno važni za vozača da održava praćenje podataka. Backup server redovno duplira podatke tako da se mogu oporaviti u slučaju gubitka podataka.
vozač – HiveQL izjave prima drajver, koji funkcioniše kao kontroler. Uspostavljanjem sesije, vozač pokreće izvršenje naredbe. On prati životni vijek i napredak izvršne vlasti. Tokom izvršavanja naredbe HiveQL, upravljački program sprema potrebne metapodatke. Također služi kao mjesto prikupljanja podataka ili rezultata upita nakon procesa Reduce.
Kompajler – Izvršava HiveQL kompilaciju upita. Upit je sada konvertovan u plan izvršenja. Zadaci su navedeni u planu. Takođe uključuje korake koje MapReduce mora poduzeti da bi dobio rezultat kako je preveden upitom. Upit se pretvara u apstraktno stablo sintakse od strane Hive-ovog kompajlera (AST). Pretvara AST u usmjereni aciklički graf nakon provjere kompatibilnosti i grešaka u vremenu kompajliranja (DAG).
Optimizer – Optimizira DAG izvođenjem različitih promjena na planu izvršenja. Kombinira transformacije za poboljšanu efikasnost, kao što je pretvaranje cjevovoda spojeva u jedan spoj. Da bi poboljšao brzinu, optimizator može podijeliti aktivnosti, kao što je primjena transformacije na podatke prije izvođenja operacije redukcije.
Izvršitelj – Izvršitelj pokreće zadatke kada se završi kompilacija i optimizacija. Poslove postavlja Izvršilac.
CLI, UI i Thrift Server – Interfejs komandne linije (CLI) je korisnički interfejs koji omogućava spoljnom korisniku da komunicira sa Hive. Hive-ov štedljivi server, sličan JDBC ili ODBC protokolima, omogućava vanjskim klijentima da komuniciraju sa Hive-om putem mreže.
Sigurnost
Apache Hive je integriran s Hadoop sigurnošću, koja koristi Kerberos za međusobnu autentifikaciju klijent-server. HDFS diktira dozvole za novogenerirane datoteke u Apache Hive-u, omogućavajući vam da odobrite od strane korisnika, grupe i drugih.
Glavne karakteristike
- Hive podržava eksterne tabele, koje vam omogućavaju da obrađujete podatke bez pohranjivanja u HDFS.
- Takođe omogućava segmentaciju podataka na nivou tabele radi povećanja brzine.
- Apache Hive odlično zadovoljava potrebe Hadoopovog interfejsa niskog nivoa.
- Hive olakšava sažimanje podataka, postavljanje upita i analizu.
- HiveQL ne zahteva nikakve veštine programiranja; dovoljno je jednostavno razumijevanje SQL upita.
- Hive također možemo koristiti za obavljanje ad-hoc upita za analizu podataka.
- Skalabilan je, poznat i prilagodljiv.
- HiveQL ne zahteva nikakve veštine programiranja; dovoljno je jednostavno razumijevanje SQL upita.
prednosti
Apache Hive omogućava izvještaje na kraju dana, dnevne procjene transakcija, ad-hoc pretraživanja i analizu podataka. Sveobuhvatni uvidi koje pruža Apache Hive daju značajne konkurentske prednosti i olakšavaju vam da odgovorite na zahtjeve tržišta.
Evo nekih od prednosti dostupnosti takvih informacija:
- Jednostavnost upotrebe – Sa jezikom sličnim SQL-u, upiti podaci su jednostavni za razumijevanje.
- Ubrzano umetanje podataka — Budući da Apache Hive čita shemu bez provjere tipa tablice ili definicije sheme, podaci ne moraju biti čitani, raščlanjeni i serijalizirani na disk u internom formatu baze podataka. Nasuprot tome, u konvencionalnoj bazi podataka, podaci moraju biti provjereni svaki put kada se dodaju.
- Vrhunska skalabilnost, fleksibilnost i isplativost – Budući da se podaci pohranjuju u HDFS, Apache Hive može držati 100 petabajta podataka, što ga čini daleko skalabilnijom opcijom od tipične baze podataka. Apache Hive, kao usluga Hadoop zasnovana na oblaku, omogućava korisnicima da brzo pokreću virtuelne servere kako bi odgovorili na promenljiva opterećenja.
- Opsežan radni kapacitet – Veliki skupovi podataka mogu obraditi do 100,000 upita na sat.
ograničenja
- Općenito, upiti Apache Hive imaju vrlo veliko kašnjenje.
- Podrška podupita je ograničena.
- Upiti u realnom vremenu i promjene na nivou reda nisu dostupni u Apache Hiveu.
- Ne postoji podrška za materijalizovane poglede.
- U košnici, akcije ažuriranja i brisanja nisu podržane.
- Nije namijenjeno za OLTP (online tranzicioni proces).
Početak rada s Apache Hive
Apache Hive je snažan Hadoop partner koji pojednostavljuje i pojednostavljuje vaše radne tokove. Da biste izvukli maksimum iz Apache Hive-a, neophodna je besprijekorna integracija. Prvi korak je odlazak na sajt.
1. Instalacijski Hive iz stabilnog izdanja
Započnite preuzimanjem najnovijeg stabilnog izdanja Hive-a sa jednog od Apache ogledala za preuzimanje (vidi Hive Releases). Tarball se tada mora raspakovati. Ovo će kreirati podmapu pod nazivom hive-xyz (gdje je xyz broj izdanja):
Postavite varijablu okruženja HIVE_HOME da ukazuje na instalacijski direktorij:
Konačno, dodajte $HIVE_HOME/bin u svoj PATH
:
2. Running Hive
Hive koristi Hadoop, tako da:
- morate imati Hadoop na svom putu ILI
3. DLL rad
Kreiranje tablice košnica
generiše tabelu pod nazivom pokes sa dve kolone, od kojih je prvi ceo broj, a drugi niz.
Pregledavanje tabela
Popis svih tabela
Izmjena i ispuštanje tablica
Nazivi tabela se mogu mijenjati, a stupci se mogu dodati ili zamijeniti:
Vrijedi napomenuti da ZAMJENA COLUMNS zamjenjuje sve postojeće stupce dok mijenja samo strukturu tablice, a ne podatke. U tabeli se mora koristiti izvorni SerDe. REPLACE COLUMNS se također može koristiti za uklanjanje stupaca iz šeme tabele:
Dropping Tables
Postoje mnoge dodatne operacije i funkcije u Apache Hive-u o kojima možete saznati ako posjetite službenu web stranicu.
zaključak
Definicija košnice je interfejs programa podataka za upite i analizu za ogromne skupove podataka koji su izgrađeni na vrhu Apache Hadoop-a. Profesionalci ga biraju u odnosu na druge programe, alate i softver jer je uglavnom dizajniran za Hive opsežne podatke i jednostavan je za korištenje.
Nadamo se da će vam ovaj vodič pomoći da pokrenete Apache Hive i učinite svoje radne tokove efikasnijim. Javite nam u komentarima.
Ostavite odgovor