Video: Arhitectura unui Data Lake scalabil în AWS - George Ciobanu (Betfair) 2024
Pe măsură ce examinați elementele din Apache Hive, puteți vedea în partea de jos că Hive este așezat pe partea superioară a sistemului distribuit de fișiere Hadoop) și sisteme MapReduce.
În cazul MapReduce, cifrele arată atât componentele Hadoop 1, cât și cele Hadoop 2. Cu Hadoop 1, interogările Hive sunt convertite în cod MapReduce și executate folosind infrastructura MapReduce v1 (MRv1), cum ar fi JobTracker și TaskTracker.
Cu Hadoop 2, YARN a decuplat gestionarea resurselor și programarea din cadrul MapReduce. Interogările interogării pot fi convertite în cod MapReduce și executate, acum cu MapReduce v2 (MRv2) și infrastructura YARN.
Există un nou cadru în curs de dezvoltare numit Apache Tez, care este conceput pentru a îmbunătăți performanța Hive pentru interogări în stil lot și pentru a sprijini interacțiunile mai mici (cunoscute și ca în timp real ). La momentul scrierii, proiectul Apache Tez este încă în incubație și nu are încă o producție pregătită.
Probabil că aveți o familiaritate cu SQL și cu modelul bazei de date relaționale din lumea RDBMS. Relația
tabel sau este compusă din coloane verticale și rânduri orizontale. Celulele sunt stocate unde se intersectează rândurile și coloanele. Dacă nu sunteți familiarizat cu SQL și cu modelul bazei de date relaționale, puteți găsi surse utile de învățare utilizând motorul de căutare preferat. În mod implicit, Hive include RDBMS-ul Apache Derby configurat cu metastrul în ceea ce se numește modul încorporat.
Modul încorporat înseamnă că driverul stupilor, metastrul și Apache Derby rulează într-o singură mașină virtuală Java (JVM). Această configurație este bună în scopuri de învățare, dar modul încorporat poate suporta doar o singură sesiune Hive, deci în mod normal nu este utilizată în medii de producție pentru mai mulți utilizatori.Există și alte două moduri -
local și remote - care pot suporta mai bine mai multe sesiuni de tip Hive în medii de producție. De asemenea, puteți configura orice RDBMS compatibil cu suita de interfață de programare a aplicațiilor Java (JDBC). (Exemplele includ MySQL și DB2.) Cheia pentru suportul aplicației este serverul Hive Thrift, care permite unui set bogat de clienți să acceseze subsistemul Hive. Clientul SQL SQuirreL open source este inclus ca exemplu. Punctul principal este că orice aplicație compatibilă cu JDBC poate accesa stupi prin driverul JDBC inclus.
Aceeași declarație se aplică clienților compatibili cu Open Database Connectivity (ODBC) - de exemplu, unixODBC și utilitarul isql, care sunt în mod obișnuit bundled cu Linux, permit accesul la Hive de la clienți Linux la distanță.
În plus, dacă utilizați Microsoft Excel, veți fi încântați să știți că aveți acces la stupi după ce instalați driverul Microsoft ODBC pe sistemul dvs. client. În cele din urmă, dacă aveți nevoie să accesați Hive din alte limbi de programare decât Java (de exemplu, PHP sau Python), Apache Thrift este răspunsul. Apache Thrift se conectează la Hive prin serverul Hive Thrift, la fel ca și clienții JDBC și ODBC.
Pentru a continua cu desenul arhitecturii Hive, rețineți că Hive include o interfață de linie de comandă (CLI), unde puteți utiliza o fereastră de terminal Linux pentru a emite interogări și comenzi administrative direct la driverul de tip Hive. Dacă o abordare grafică este mai rapidă, există și o interfață web la îndemână, astfel încât să puteți accesa tabelele și datele gestionate de Hive prin browserul dvs. preferat.
Există o altă tehnologie de browser web cunoscută sub numele de Hue care oferă o interfață grafică de utilizator (GUI) cu Apache Hive. Unii utilizatori ai Hadoop-ului preferă să aibă o GUI la dispoziție în locul unei interfețe de linie de comandă (CLI). Împreună cu Hive, Hue suportă și alte tehnologii cheie Hadoop, precum HDFS, MapReduce / YARN, HBase, Zookeeper, Oozie, Pig și Sqoop. Veți plăcea numele pentru Apache Hue GUI Hue - se numește Ceara de albine.