Úvod do HiveQL

HiveQL, bežne známy ako HQL, je dotazovací jazyk podobný SQL, ktorý spracováva veľké kúsky údajov z prostredia Hadoop. Pôvodne vyvinutý spoločnosťou Facebook okolo roku 2007, sa Hive neskôr stal open-source projektom Apache. Dopyty úľov so syntaxou podobnou SQL sa v súčasnosti medzi analytikmi údajov stali populárnymi. HiveQL využívajúce HDFS na ukladanie a MapReduce na spracovanie pomáha pri získavaní poznatkov pre veľkých používateľov údajov s minimálnymi skúsenosťami s kódovaním. S HiveQL sa dajú použiť rôzne ďalšie distribuované výpočtové stroje, ako Apache Tez a Apache Spark, na rýchlejšie spracovanie rozsiahlych analytických údajov. Rôzne spôsoby použitia HiveQL sú - CLI (Command Line Interface), komerčné produkty ako Karmasphere, Hue a Qubole spoločnosti Cloudera.

Spracovanie HiveQL

Úľ poskytuje dialekt ako dialekt pre manipuláciu s dátami, čím eliminuje potrebu, aby sme písali úlohy MapReduce s nízkou úrovňou na načítanie údajov (pomocou Mappera) a agregovanie konečných výsledkov (prostredníctvom modulov Reducer).

  • Vykonáva sa dotaz na úľ

Kroky zapojené do vykonávania dotazu Úľa sú:

  1. Rozhranie podregistra (prostredníctvom CLI alebo webového používateľského rozhrania) odošle dotaz ovládaču (ktorým je JDBC, ODBC alebo Thrift Server), aby ho skompiloval, optimalizoval a vykonal. Kontroluje dotaz pomocou kompilátora z hľadiska syntaxe a plánu vykonávania.
  2. Kompilátor odošle žiadosť spoločnosti Metastore a ako odpoveď dostane metadáta.
  3. Kompilátor oznámi plán vykonávania späť vodičovi, ktorý ho ďalej odošle do modulu vykonávania.
  4. Vykonávací mechanizmus spolupracuje so sledovačom úloh, čo je uzol s menom, aby dokončil úlohu.
  5. Paralelne s vykonávaním vykonáva aj metadáta.
  6. Uzol názvu dostane úlohu pomocou nástroja na sledovanie úloh alebo dátových uzlov.
  7. Výsledky, ktoré sú zdieľané s exekútorom, sa potom zobrazia rozhraniu prostredníctvom ovládača.
  • Optimalizácia dotazov

Ladenie HiveQL pre lepšiu optimalizáciu dotazov. Pomocou príkazov uvedených nižšie môžeme prepísať predvolené konfigurácie a umožniť rýchlejšie vykonávanie dotazov.

1 . SET hive.execution.engine = tez

V predvolenom nastavení je spúšťací motor nastavený ako Mapreduce, ale môžeme ho explicitne nastaviť na tez (iba pre Hadoop 2) alebo Spark (pre Hive 1.1.0 0 ďalej).

2 . SET hive.mapred.mode = nepružné

Je to pre dynamické rozdelenie, ktoré je užitočné pri načítaní veľkých množín údajov. Statické rozdelenie je však nastavené ako predvolené, čo sa deje v „prísnom“ režime.

3 . SET hive.vectorized.execution = true

set hive.vectorized.execution.enabled = true

Vektorizované vykonávanie dotazov umožňuje, aby sa operácie ako sú agregáty, filtre alebo spojenia uskutočňovali v dávkach 1024 riadkov namiesto jedného riadku naraz.

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

Pri spájaní veľkej množiny údajov s veľmi malými množinami údajov sú spojenia mapy efektívnejšie a dajú sa nastaviť pomocou vyššie uvedeného príkazu.

5 . SET hive.exec.parallel = true

Úlohy MapReduce sa v Hadoop vykonávajú paralelne. Ak dotazy nie sú navzájom závislé, môže sa uprednostniť paralelné vykonávanie, čo vedie k lepšej správe pamäte.

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

To umožňuje, aby bol konečný výstup uložený v HDFS v komprimovanom formáte.

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

To umožňuje, aby bol konečný výstup uložený v HDFS v komprimovanom formáte.

Funkcie HiveQL

  1. Keďže ide o jazyk vysokej úrovne, dotazy Hive sa implicitne prevádzajú na úlohy s obmedzením mapy alebo na zložité DAG (nasmerované acyklické grafy). Pomocou kľúčového slova „Vysvetlite“ pred dopytom môžeme získať plán dotazov.
  2. Rýchlejšie vykonávanie dotazov pomocou ukladania metadát vo formáte RDMS a replikovanie údajov, čo uľahčuje vyhľadávanie v prípade straty.
  3. Indexovanie bitmapy sa vykonáva na urýchlenie dopytov.
  4. Zvyšuje výkon tým, že umožňuje rozdelenie údajov.
  5. Podregister dokáže spracovať rôzne typy komprimovaných súborov, čím šetrí miesto na disku.
  6. Na manipuláciu s reťazcami, celými číslami alebo dátumami podporuje HiveQL rozšírenie používateľských funkcií (UDF), riešenie problémov, ktoré nie sú podporované zabudovanými UDF.
  7. Poskytuje rad ďalších API na vytvorenie prispôsobeného vyhľadávacieho nástroja.
  8. Podporované sú rôzne formáty súborov, napríklad Textfile, Sequencefile, ORC (Optimized Row Columnar), RCFile, Avro a Parquet. Formát súboru ORC je najvhodnejší na zlepšenie výkonu dotazov, pretože ukladá údaje čo najoptimálnejším spôsobom, čo vedie k rýchlejšiemu vykonaniu dotazu.
  9. Je to efektívny nástroj na analýzu údajov a ETL pre veľké množiny údajov 10. Ľahko písať otázky, pretože je podobné SQL. Príkazy DDL (jazyk definície údajov) v podregister sa používajú na špecifikovanie a zmenu štruktúry databázy alebo tabuliek v podregistri. Tieto príkazy sú zahodiť, vytvoriť, skrátiť, zmeniť, zobraziť alebo opísať.

obmedzenia

  1. Dotazy úľa majú vyššiu latenciu, pretože Hadoop je dávkovo orientovaný systém.
  2. Vnorené alebo poddotazy nie sú podporované.
  3. Operáciu aktualizácie, vymazania alebo vloženia nie je možné vykonať na úrovni záznamu.
  4. Spracovanie alebo dotazovanie údajov v reálnom čase nie je ponúkané prostredníctvom Hive Scope of HQL.

Vďaka petabajtom údajov, od miliárd po bilióny záznamov, má HiveQL veľký priestor pre profesionálov v oblasti veľkých dát.

Rozsah HiveQL

Nižšie sú uvedené spôsoby, ako sa rozsah HiveQL rozširuje a lepšie slúži na účely analýzy humungous údajov generovaných užívateľmi každý deň.

Bezpečnosť: Spolu so spracovaním veľkých údajov poskytuje Hive bezpečnosť údajov. Táto úloha je pre distribuovaný systém zložitá, pretože na vzájomnú komunikáciu sú potrebné viaceré komponenty. Podpora autorizácie Kerberos umožňuje autentifikáciu medzi klientom a serverom.

Zamykanie: Tradične Úľ nemá uzamykanie riadkov, stĺpcov alebo otázok. Úľ môže využiť podporu Apache Zookeeper na zaistenie podpory.

Workflow Management : Apache Oozie je plánovač pracovných tokov, ktorý automatizuje rôzne dotazy HiveQL na vykonávanie sekvenčne alebo paralelne.

Vizualizácia: Notebook Zeppelin je webový notebook, ktorý umožňuje interaktívnu analýzu údajov. Podporuje Hive and Spark pre vizualizáciu dát a spoluprácu.

záver

HiveQL sa v organizáciách bežne používa na riešenie zložitých prípadov použitia. Berúc do úvahy vlastnosti a obmedzenia ponúkané týmto jazykom, dotazovací jazyk Hive sa používa v telekomunikačných, zdravotných, maloobchodných, bankových a finančných službách a dokonca aj v systéme hodnotenia podnebia Laboratória testovacieho pohonu laboratória NASA. Jednoduché písanie SQL otázok a príkazov pre širšie akceptovanie. Rastúca pracovná príležitosť v tejto oblasti láka čerstvejšie a profesionálov z rôznych sektorov, aby získali praktické skúsenosti a znalosti o tejto oblasti.

Odporúčané články

Toto je sprievodca HiveQL. Tu diskutujeme Úvod do HiveQL, Optimalizácia dotazov a jeho obmedzenia a funkcie. Viac informácií nájdete aj v našich súvisiacich článkoch -

  1. Čo sú to typy údajov Úľa?
  2. Alternatívy úľa Zistite funkcie
  3. Najlepšie komponenty príkazov úľa
  4. Top 10 otázok na pohovor z Úľa

Kategórie: