Osinjak u velikim podacima

Big data

Osinjak u velikim podacima

Ako pratite cijelu priču oko Hadoopa te obrade i analize velike količine podataka onda ste zasigurno čuli za Hive. Prema open source zajednici Hive je dio Hadoop „ekosustava“  i služi kao sustav za data warehouse-ing (skladištenje podataka)  koji omogućuje agregaciju podataka, ad-hoc upite i analizu veličine podataka koji su pohranjeni u HDFS-u (Hadoop Distributed File System) koji je uz MapReduce programsku paradigmu temelj Hadoopa kao tehnologije. Zasigurno bombardiranje novih pojmova u području Big Data može biti zbunjujuće, ali sam Hive kao tehnologija je jako jednostavna.

image

 

Arhitektura Hive sustava

Hive je nastao u Facebook-ovim labaratorijima kao potreba za analizom velikih podataka u „strukutriranom“ obliku kako bi njihovi analitičari mogli uz postojeće znanje SQL upita analizirati veliku količinu podataka koje Facebook stvara, jer im postojeći RDBMS sustavi to nisu omogućavali. SQL upiti odnosno u ovom slučaju HQL (Hive Query Language) upiti postojeću SQL sintaksu pretvaraju u map-reduce job-ove koji se zatim izvršavaju. Ovo znači da će za svakoga korisnika tko je upoznat sa SQL-om i relacijskim bazama Hive biti lagan za učenje.

Hive upiti se mogu vršiti  na više načina. Prvi način je putem Hive shell-a tj.  putem command line sučelja, zatim JDBC –a (Java Database Connectivity) ili ODBC-a (Open Database Connectivity) pa tako Hive-u možete pristupati putem nekih već poznatih aplikacija kao što su Excel ili Tableau. Treći način izvršavanja upita je putem Hive Trift Client-a.

slika

 

Beeswax (Hive sučelje) u Hortonworks Hadoop distribuciji

Sam Hive ima slične principe što se tiče SQL upita, međutim postoji nekoliko ključnih razlika u odnosu na klasične sustave relacijskih baza podataka.  Prva razlika je ta što je Hadoop namijenjen dugim sekvencijalnim pretraživanjima, a s obzirom da je Hive temeljen na Hadoop-u, možemo očekivati upite koji imaju jako veliku latenciju stoga znaju trajati i po nekoliko minuta. Ovo znači da Hive nije prikladan za aplikacije koje trebaju veoma brz odgovor, nego za analizu velike količine podataka stoga Hive ponekad uspoređuju s “OLAP sustavima”. Hive služi samo za čitanje podataka stoga nije prikladan za obradu transakcija koje tipično uključuju veliki postotak pisanja u bazu.

Uz tipične  vrste podataka kao što su string,int ili float tu su neki novi tipovi podataka poput struct, map, array  koji nisu bili dostupni u klasičnim relacijskim bazama što znači da Hive može manipulirati polustrukturiranim podacima iz tzv. NoSQL bazi (primjerice HBase) ili JSON podacima.

Ukoliko si želite skratiti muke oko same instalacije i konfiguracije Hadoop-a i Hive-a toplo vam preporučam skidanje virtualki nekih od distribucija poput Cloudere ili Hortonworks-a kako bi iskušali Hive, ali i ostale sustave unutar Hadoopa uz prelijepo korisničko sučelje.

S obzirom da uz Hive za analizu velikih podataka možemo koristi Pig i njegov jezik PigLatin, u sljedećem članku ću pričati o Pig-u te po čemu se on razlikuje od Hive-a.

Do pisanja 🙂

Tagovi: / / / /