Uvod u HiveQL

HiveQL, uobičajeno poznat kao HQL, je jezik upita sličan SQL-u za obradu velikih komada podataka iz okruženja Hadoop. Izvorno razvijen od strane Facebooka oko 2007, Hive je kasnije postao projekt Apache otvorenog koda. Upiti za košnice sa sintaksom sličnom SQL-u danas su postali popularni među analitičarima podataka. HiveQL koji koristi HDFS za pohranu i MapReduce za obradu pomaže u dobivanju uvida za korisnike velikih podataka s minimalnim iskustvom kodiranja. Različiti drugi motori za raspodjelu računanja poput Apache Tez i Apache Spark mogu se koristiti s HiveQL-om za bržu obradu podataka velikih podataka. Različiti načini korištenja HiveQL-a su - CLI (Command Line Interface), komercijalni proizvodi poput Karmasphere, Cloudera-ove open source Hue i Qubole.

Rad HiveQL-a

Hive pruža dijalekt sličan SQL-u za manipulaciju podacima, eliminirajući potrebu za nama pisanjem poslova MapReduce niske razine radi dohvaćanja podataka (putem Mapper-a) i objedinjavanja konačnih rezultata (kroz redukcijske module).

  • Izvršavanje upita košnice

Koraci u obavljanju upita košnice su:

  1. Sučelje košnice (putem CLI ili Web UI) šalje upit Driver-u (a to je JDBC, ODBC ili Thrift Server) radi sastavljanja, optimizacije i izvršavanja. Provjerava upit putem sastavljača za sintaksu i plan izvršenja.
  2. Sastavljač šalje zahtjev Metastoreu i kao metapodatke dobiva metapodatke.
  3. Kompajler vraća upravljačkom planu plan izvršenja, koji ga dalje šalje izvršnom stroju.
  4. Pokretač izvršenja u interakciji je s alatom za praćenje posla, što je Naziv čvora za posao.
  5. Paralelno, izvršni motor također izvršava operaciju metapodataka.
  6. Čvor naziva dobiva posao pomoću Tragača zadataka ili Čvorova podataka.
  7. Rezultati koji se dijele s izvršnim mehanizmom, a koji se zatim putem upravljačkog programa prikazuju sučelju.
  • Optimizacija upita

Ugađanje HiveQL-a radi bolje optimizacije upita. Pomoću dolje postavljenih naredbi možemo nadjačati zadane konfiguracije i omogućiti brže izvršavanje upita.

1 . SET hive.execution.engine = tez

Po zadanim postavkama pokretački mehanizam postavljen je kao Mapreduce, ali eksplicitno ga možemo postaviti na tez (samo za Hadoop 2) ili Spark (za košnicu 1.1. 0 nadalje).

2 . SET hive.mapred.mode = neograničen

Ovo je za dinamičku particiju koja je korisna za učitavanje velikih skupova podataka. Međutim, statička particija je zadana kao zadana, što se događa u "strogom" načinu.

3 . SET hive.vectorized.execution = istina

set hive.vectorized.execution.enabled = istina

Vektorizirano izvršavanje upita dopušta da se operacije poput agregata, filtera ili spajanja događaju u skupinama od 1024 redaka, umjesto u jednom retku odjednom.

4 . SET hive.auto.convert.join = istina

Dok spajate veliki skup podataka s vrlo malim skupom podataka, spajanje karata je učinkovitije i može ih se postaviti pomoću gornje naredbe.

5 . SET hive.exec.parallel = istina

Poslovi MapReduce paralelno se izvršavaju u Hadoopu. Ponekad, ako upiti ne ovise jedan o drugom, može se favorizirati paralelno izvršavanje koje vodi boljem upravljanju memorijom.

6 . SET hive.exec.compress.output = istina

Ovo omogućuje pohranjivanje konačnog izlaza u HDFS u komprimiranom formatu.

7 . SET hive.exec.compress.output = istina

Ovo omogućuje pohranjivanje konačnog izlaza u HDFS u komprimiranom formatu.

Značajke HiveQL-a

  1. Budući da je jezik visoke razine, upiti košnice implicitno se pretvaraju u zadatke koji smanjuju preslikavanje ili složene DAG-ove (usmjereni aciklički grafikoni). Korištenjem ključne riječi 'Objasni' prije upita, možemo dobiti plan upita.
  2. Brže izvršavanje upita koristeći pohranu metapodataka u RDMS formatu i replicira podatke, što olakšava preuzimanje u slučaju gubitka.
  3. Indeksiranje bitmape vrši se za ubrzavanje upita.
  4. Poboljšava performanse omogućujući dijeljenje podataka.
  5. Košnica može obraditi različite vrste komprimiranih datoteka čime štedi prostor na disku.
  6. Za manipuliranje nizovima, cijelim brojevima ili datumima, HiveQL podržava proširenje korisnički definiranih funkcija (UDF), za rješavanje problema koji nisu podržani od ugrađenih UDF-ova.
  7. Pruža niz dodatnih API-ja za izgradnju prilagođenog mehanizma upita.
  8. Podržani su različiti formati datoteka kao što su Textfile, Sequencefile, ORC (Optimizirani stupac stupaca), RCFile, Avro i Parket. ORC format datoteke najprikladniji je za poboljšanje performansi upita jer pohranjuje podatke na najoptimiziraniji način, što dovodi do bržeg izvršavanja upita.
  9. To je efikasan alat za analizu podataka i ETL alat za velike skupove podataka 10. Jednostavno je upisati upite jer je sličan SQL-u. Naredbe DDL (jezik definicije podataka) u košnici koriste se za specificiranje i promjenu strukture baze podataka ili tablica u košnici. Te se naredbe ispustaju, stvaraju, skraćuju, mijenjaju, prikazuju ili opisuju.

Ograničenja

  1. Upiti na košnice imaju veće kašnjenje jer je Hadoop sustav orijentiran na seriju.
  2. Unesene ili podupite nisu podržane.
  3. Operacija ažuriranja, brisanja ili umetanja ne može se provesti na rekordnoj razini.
  4. Obrada ili postavljanje podataka u stvarnom vremenu nije ponuđena kroz Hive Scope HQL.

Sa petabajtima podataka, u rasponu od milijardi do trilijuna zapisa, HiveQL ima veliki prostor za profesionalce s velikim podacima.

Opseg HiveQL-a

U nastavku su navedeni načini na koji se opseg HiveQL-a proširuje i bolje služi svrsi analize humungous podataka koje generiraju korisnici svaki dan.

Sigurnost: Uz obradu velikih podataka, Hive pruža sigurnost podataka. Ovaj je zadatak složen za distribuirani sustav, jer je za međusobnu komunikaciju potrebno više komponenti. Podrška za Kerberos autorizaciju omogućuje provjeru autentičnosti između klijenta i poslužitelja.

Zaključavanje: tradicionalno, košnici nedostaje zaključavanje u redove, stupce ili upite. Osip može upotrijebiti Apache Zookeeper za zaključavanje potpore.

Upravljanje tijekom rada : Apache Oozie je planer radnog tijeka za automatizaciju različitih HiveQL upita da se izvršavaju uzastopno ili paralelno.

Vizualizacija: Zeppelin bilježnica je internetska bilježnica koja omogućuje interaktivnu analizu podataka. Podržava košnicu i iskre za vizualizaciju podataka i suradnju.

Zaključak

HiveQL se široko koristi u organizacijama za rješavanje složenih slučajeva upotrebe. Imajući u vidu značajke i ograničenja koja nudi jezik, jezik upita koristi se u telekomunikacijama, zdravstvu, maloprodaji, bankarstvu i financijskim uslugama, pa čak i NASA-inom laboratoriju za ispitivanje klime za ocjenu klime. Jednostavnost pisanja SQL-a, poput upita i naredbi, omogućuje šire prihvaćanje. Sve veća mogućnost zaposlenja na ovom polju privlači svježe i profesionalce iz različitih sektora kako bi stekli praktično iskustvo i znanje o tom području.

Preporučeni članci

Ovo je vodič za HiveQL. Ovdje smo raspravljali o Uvodu u HiveQL, optimizaciji upita i njegovim ograničenjima i značajkama. Možete i pregledati naše povezane članke da biste saznali više -

  1. Što su tipovi podataka košnice?
  2. Alternative košnice | Saznajte značajke
  3. Glavne komponente naredbi košnica
  4. Top 10 pitanja o intervjuu sa košnicom

Kategorija: