Članci

Prediktivna Analitika nad Velikim Podacima – Osnova Personalizovane Medicine

Utorak, 10.5.2016. Milan Vukićević (Fakultet Organizacionih Nauka, Univerziteta u Beogradu) će održati predavanje na temu “ Prediktivna Analitika nad Velikim Podacima – Osnova Personalizovane Medicine“. Predavanje će biti održano u 18:00 u sali 105.

Prediktivna analitika nad Velikim Podacima je prepoznata kao  jedan od glavnih faktora razvoja medicine od Reaktivne do Personalizovane, Prediktivne i Preventivne.  Tome je doprineo trend rasta broja pacijenata od hroničnih i teških bolesti sa jedne strane i eksponencijalni rast raspoloživih podataka i razvoj skalabilnih prediktivnih metoda sa druge strane.

Međutim i pored ogromnog potencijala, jako mali broj razvijenih modela postižu zadovoljavajući nivo prediktivnih performansi. Ovo dovodi do toga da se potencijal prediktivne analitike ne koristi u praksi, s obzirom da pogrešne odluke imaju jako visoku cenu (kako sa finansijske tako i sa ljudske strane).

Na ovom predavanju će biti diskutovani izazovi koji dovode do ovih problema a koji se odnose na izazove prediktivne analitike generalno, a ne samo u medicinskim aplikacijama):

  • Heterogenost podataka – Elektronski kartoni, genetski podaci, doktorske beleske (tekst), socijalne mreže (npr. Patients like me), podaci generisani “Wearable” uređajima i senzorima itd.
  • Visoka Dimenzionalnost – skupovi podataka često imaju desetine hiljada atributa
  • Razređenost (sparsity)
  • Selekcija algoritama, optimizacija parameter i selekcija atributa.
  • Interpretabilnost Modela.

Biće predstavljena skorašnja istraživanja koja su sprovedena u okviru Centra za Poslovno odlučivanje Fakulteta Organizacionih Nauka sa posebnim naglaskom na:

  • kolaborativni razvoj prediktivnih algoritama
  • optimizaciju parametara
  • selekciju atributa,
  • Integraciju domenskog znanja i modela vođenih podacima
  • Meta učenje.

Takođe će biti predstavljena platforma za Analizu Velikih Biomedicinskih podataka, baziranoj na Big Data tehnologijama (Hadoop okruženje), kao i prediktivnim modelima razvijanih u R-u, Python-u i RapidMiner-u.

O predavaču: Milan Vukićević je docent na Fakultetu Organizacionih Nauka, Univerziteta u Beogradu. Šira oblast njegovog istraživanja je razvoj i primena prediktivnih algoritama.   Trenutno radi na projektima vezanim za prediktivnu analitiku u oblasti zdravstva, kao i razvoju algoritama za analitiku podataka “Pametnih Gradova”.

U okviru Centra za Poslovno Odlučivanje, Fakulteta Organizacionih Nauka drži kurseve na svim nivoima studija koji uključuju: Otkrivanje Zakonitosti u Podacima (eng. Data Mining), Mašinsko učenje, Sisteme Poslovne inteligencije, Teoriju odlučivanja, Skladišta podataka.

Detaljniji pregled biografije i kontakt možete pronaći na:

LinkedIn profilu

ReasearchGate profilu

Prijave na Data Science Srbija meetup grupi.

Apache Spark – Kako početi?

Kako Spark sve više dobija na popularnosti, rešio sam da pored Hadoop-a počnem da pišem više i o ovom alatu. Prvo da još jednom napomenem da Spark nije zamena za Hadooop, već jedan odličan dodatak. Mi u firmi se često igramo sa njim i dobijamo odlične rezultate. Ovaj tekst će biti o tome kako da podesite okruženje za testiranje Sparka.

Za razliku od Hadoop-a koji je malo teže testirati na laptopu ili desktop računaru, Spark možete sa lakoćom. Postoji nekoliko načina da to uradite. Pored svega toga, aplikaciju koju ste napisali na svom računaru možete da pokrenete i na klasteru uz male ili nikakve izmene.

Zahtevi i instalacija

Spark može da radi kako na Windows-u, tako i na UNIX-like sistemima. Pre svega morate da imate instaliranu Javu i da joj bude podešena putanja, Python 2.6+, R 3.1+ i naravno kako je i sam pisan u Scala-i potrebno je da imate i instaliranu Scala-u verziju 2.10.x. Pored toga poželjno je da imate instaliran i SBT i/ili Maven.

Sledeće, na download stranici potrebno je da skinete, preporučujem, poslednju verziju Sparka koja je već spremna za neku verziju Hadoop-a, kako vi to ne biste morali da radite. Možete da iskoristite OVAJ link. Uradite unzip fajla i smestite Spark u željeni folder (Program Files ili Home). Ono što ja radim jeste da pravim “symbolic” link kako biste lako mogli da menjate verzije.

~$ ln -s /putanja do sparka/spark-1.4.1 putanja/gde/želite/symlink

I naravno na kraju podesite Bash profil.

export SPARK_HOME= putanja do symbolic linka
export PATH=$SPARK_HOME/bin:$PATH

Nakon toga možete da probate da li ste sve uspešno podesili, pokrenite spark-shell ili pyspark.

sparkconsole

Postoji nekoliko načina na koje možete da pišete i testirate aplikacije. U konzoli, što i nije baš lepo, posebno ako su u pitanju kompleksniji programi ili ako želite da ih ponovo pokrećete, drugi način jeste da iskoristite svoj omiljeni IDE i da u njemu pišete Scala, Python ili Java kod. Mana kod ovakvog načina jeste to što je naporno stalno testirati odrađeno. Ali to nije sve, uz Spark su se razvijali i dodatni alati koji olakšavaju pisanje Spark aplikacija.

Apache Zeppelin

Ovaj alat se koristi u HDP-u, standardan je i u klasteru koji možete da podignete na Azure-u. Dosta je sličan IPython-u, čak i Databricks koristi sličan alat za svoju platformu. U principu koristeći ovaj alat ne morate da imate instaliran Spark, plus možete da ga koristite za još neke alate. Možete sa github-a da skinete poslednju verziju i ispratite uputstvo i tako lako dobijete okruženje za razvoj Spark aplikacija. Jedino nisam siguran kako radi na Windows-u, takođe Java nije podržana.

Pored toga izvršavanjem SparkSQL upita dobijate i automatski vizualizacije koje možete da ubacite na vaš sajt. Još jedan fin dodatak jeste što možete da odredite i vreme kad će vaša aplikacija da se pokrene.

Mislim da ovaj alat može da bude odličan i za produkciju, jer je moguće podesiti Zeppelin da koristi Spark na klasteru i ako korisitite pored toga Hive ili Cassandra-u, onda imate IDE za više alata.

IPython Notebook

Ako i vi volite Python i ako ste upoznati sa IPython-om onda to možete da iskoristite. Za razliku od Zeppelina koji može se reći da je baš orijentisan ka Spark-u, IPython možete da koristite samo za PySpark i ne pruža vam mogućnost automatske vizualizacije podataka. Pre se može reći da na ovaj način testirate Python i PySpark odnosno njihovu kombinaciju.

Prvo je potrebno instalirati IPython. Pretpostavljam da ako se neko opredeli za ovaj način, onda već ima i koristi ovaj alat. Takođe potrebno je podesiti Spark putanje kao na početku teksta.

Sledeće, potrebno je profil za Spark kako ne bi mešali sa drugim Python projektima.

~$ ipython profile create spark

Kreirajte fajl ako ne postoji

$HOME/.ipython/profile_spark/startup/00-pyspark-setup.py

Dodajte sledeći kod:

import os
import sys

if 'SPARK_HOME' not in os.environ:
    os.environ['SPARK_HOME'] = 'putanja do symbolic linka'

SPARK_HOME = os.environ['SPARK_HOME']

sys.path.insert(0, os.path.join(SPARK_HOME, "python", "build"))
sys.path.insert(0, os.path.join(SPARK_HOME, "python"))

Pokreniti novi profil:

~$ ipython notebook --profile spark

Testirajte da li je sve ok:

print SPARK_HOME
from pyspark import  SparkContext
sc = SparkContext( 'local', 'pyspark')

ipy

Pored ova dva alata možete isprobati i Spark-Notebook koji nisam još stigao da testiram. Probajte, pa javite utiske.

Lako testiranje je jedna od velikih prednosti Spark-a. Naravno, nikako nije preporučljivo na ovaj način koristiti Spark u produkciji. Nadam se da sam vam malo približio Spark. Namerno nisam hteo da ovaj tekst bude Spark demo, jer na ovaj način sada može bilo ko da se igra sa Spark-om. Demo možemo da ostavimo za novoosnovanu meetup grupu, pa ako ste zainteresovani, javite da se organizujemo. Nastavljamo da hadupujemo sa novim tekstovima o Hadoop-u i Sparku.

Apache Storm

U prošlom tekstu sam spomenuo Storm u kontekstu obrade podataka u realnom vremenu. U ovom tekstu pisaću malo detaljnije o Storm-u, o tome šta je, kako radi, kako se programira i pomenuću neke primere. Preporučujem da pročitate tekst Hadoop i obrada u realnom vremenu pre nego što nastavite.

Šta je to Storm?

Storm je open source alat za distribuiranu obradu podataka u realnom vremenu. Tačnije, ovaj alat se koristi kada želite da obradite podatke u trenutku kada su nastali (Streaming Analytics).  Storm se zbog svojih karakteristika našao kao neizostavni alat u Hadoop ekosistemu ako govorimo o obradi podataka u realnom vremenu. Ako se pitate čemu služi, lista odgovora bi mogla da bude duga. Neki od najčešćih zadataka Storma bi bili: ETL, obrada u realnom vremenu, online machine learning, ako želite da vršite konstantne proračune… Ako dovoljno upoznate alat, verovatno možete da proširite ovaj spisak.

Kada govorimo o brzini Storm-a, ako pogledamo testove, sposoban je da obradi milion redova u sekundi po mašini. Naravno da ovo zavisi i od same mašine. Skoro sam malo testirao Storm i mogu reći da sam bio oduševljen. Nisam uvodio nikakve testove, već je ovo moje zapažanje, koristeći virtuelnu mašinu sa možda 2GB radne memorije.

Kako radi?

Ako pogledamo arhitekturu Storm klastera, ona dosta liči na Hadoop arhitekturu. Kod Hadoop-a imamo MapReduce poslove, dok kod Storma imamo topologije. Postoje velike razlike, ali ako gledamo glavnu razliku, onda možemo reći da se Hadoop posao nekad završi, dok topologija traje beskonačno (osim ako je ne isključite). I Storm ima svoj Master node i Worker nodes, ali u ove detalje neću da ulazim previše, već želim da se fokusiram na topologije.

storm-topology1Topologija je običan DAG (Directed Acyclic Graph) koji se sastoji od Spout-ova, koji predstavljaju izvore podataka, odnosno čvor koji čita podatke sa nekog izvora. Druga komponenta je Bolt, čvor koji obrađuje podatke. Jedna Storm topologija može da kombinuje više Spout-ova i Bolt-ova. Tako da možemo da imamo dva izvora, npr. jedan je twitter koji traži samo tvitove koji u sebi sadrže #hadoop, a drugi bi tražio #storm. Sledeće, koristili bi jedan Bolt koji broji ukupan broj tweet-ova za ove dve reči čitajući iz ova dva Soput-a. Tako da možete da se igrate topologijom. Što se tiče modela podataka Storm na sve gleda kao na Tuple.

Programiranje

Lepo je znati teoriju, ali treba je iskoristiti. Storm je jako interesantan alat i poput Hadoop-a podržava višejezičnost. Spout-ove i Bolt-ove je moguće pisati u raznim programskim jezicima, Java je standard, a sam alat je pisan u Clojure programskom jeziku. Ja lično volim da testiram Storm pišući u Pythonu, brzo se piše, možete da se poslužite Yelp-ovim modulom koji stvarno olakšava život. Celu topologiju je moguće napisati u samo Python-u, ali isto tako moguće je pisati delove u Javi delove u Pythonu. Čitajući o tome koji programski jezik da izaberem, naišao sam na razne odgovore. Neki moj savet je ako niste Java programer da počnete lagano za jezicima kao što su Python ili Ruby. Ako to reši vaš problem, topologija ima smisla i na kraju rešili ste neki poslovni problem uvek možete da prepišete Python kod u Javu. U svakom slučaju prva stanica treba da vam bude zvanična dokumentacija.

Programiranje Bolt-ova podrazumeve da znate i Storm grupisanja, bez obzira koji jezik koristite ovo uvek važi.

  • Shuffle – Šalje tuple-ove u bolt na slučajan način, koristi se npr. za matematiku.
  • Fields – Šalje podatke na osnovu jednog ili više polja.
  • All – Šalje jednu kopiju svakog tuple-a svim primaocima.
  • Custom – Prilagođeno za obradu sekvenca.
  • Direct – Izvor odlučuje kom Bolt-u da prosledi podatke.
  • Global – Podaci se šalju sa više izvora na jedan Bolt, tipično je za operaciju brojanja.

Kako početi.

Za neki brz primer predlažem, a u slučaju da niste upoznati sa Javom, Python modul Pyleus koji je razvijen od strane Yelp-a i može se naći na gitu. Tamo možete pronaći par primera i odlično uputstvo. Za one koji su upoznati sa Javom destinacija je Storm zvanični sajt.

Bez obzira koji operativni sistem koristite preporučujem da koristite virtuelnu mašinu sa Ubuntu operativnim sistemom. Moj predlog je da se upoznate i sa Vagrant-om, i na taj način testirate, i na kraju možda podelite i sa drugima. Ja ću se potruditi da sredim jednu mašinu i okačim na Internetu, koja bi služila za testiranje Hadoop-a, Storm-a i možda još nekih alata.

I na kraju ako uporedimo Hadoop i Storm vidimo da u kombinaciji mogu da budu jako moćni i da reše probleme brzine koje ima Hadoop. Nastavljamo dalje da hadupujemo i da širimo Hadoop priču i kod nas i regionu.

 

Šta je to Big Data?

Prvi tekstovi na mom blogu bili su vezani, kao što i ime bloga govori, za Hadoop. Počeo sam da nižem tekstove, dobio čitaoce i neke pozitivne komentare. Pisanje o Hadoop-u i njegovom ekosistemu ide po planu i dobijam povratne informacije da su dobri. Razmisljao sam da li će ovaj tekst biti nastavak o samom Hadoop-u, ali nije dovoljno dve rečenice napisatio o Big Data, pa smatram da sam ostao dužan. Da nije Big Data, ne bi bilo Hadoop-a, tako da će ovaj tekst biti posvećen velikoj količini podataka.

Šta je Big Data?

Big Data

Big Data

Big Data predstavlja podatake koji su one količine koja prevazilazi mogućnosti uobičajeno korišćenog softvera za  skladištenje, obradu i upravljanje podacima. Ovo bi bila neka gruba definicija. Gotovo istu ćete naći na Internetu, na svim stranicama. Big Data je kao termin nastao 2008. godine. Lično nisam pristalica ovakvih definicija, ali smatram da postojanje definicije stvara ozbiljnost i realnost samom pojmu. Na prezentacijama koje sam držao rado sam koristio ovu definiciju, ali i na Internetu sam našao jednu jako interesantnu, koja je po mom mišljenju odlična kada treba da objasnite nekom ko nije iz IT sveta šta je Big Data. Jednostavno se može reći da je Big Data sve ono što ne može da stane u Excel. Naravno ovo je nepotpuna definicija, ali za nekog ko se prvi put susreće sa ovim pojmom je razumljivija nego da se razveze čitava priča.

U poslednje vreme sve više se priča o Big Data, kako je to posao budućnosti i slično. Moje mišljenje je, mada možda i grešim, da je Big Data samo termin za mnogu širu oblast delovanja. Big Data nije nešto što obuhvata sve, nije skup svega, već je nešto novo što svaka ozbiljna firma razmatra u svom poslovanju ili treba što pre to da uradi. Big Data je novi deo slagalice koji treba uklopiti.

Dimenzije Big Data.

Big Data Dimenzije

Big Data Dimenzije

Često se spominju dimenzije Big Data. Kako tačno da znamo šta je, da li je relaciona baza od 10TB Big Data ili ne? Dimenzije daju odgovor na ovo pitanje.

Volume – velika brzina rasta količine novih podataka i čuvanje postojećih dovodi do toga da se sada skladište stotine terabajta, pa čak i mnogo više.

Variety – (raznolikost podataka) više nije dovoljno čuvati samo struktuirane podatke, već i slike, podatke sa društvenih mreža, logove, senzorske podatke…

Velocity – brzina kojom pristižu novi podaci je velika i veća je od brzine obrade podataka.

Ako neki podaci imaju ove karakteristike, onda možete reći da imate Big Data u svom sistemu. Sa razvojem inteligentnih uređaja raste i količina podataka koji oni generišu. Na primer, jedan Airbas avion za jedan prosečan let izgeneriše 1TB senzorskih podataka, koji analizom mogu da poboljšaju kvalitet samog leta ili da spreče kvarove pre nego se i dese. U principu, ako imate dovoljno resursa za skladištenje podataka, možete lako prikupiti podatke. Zamislite samo koliko podataka se izgeneriše na društvenim mrežama. Jedan test koji sam izveo je povlačenje podataka sa Twiterra. Za nekih pet sekundi rada skripte za definisane tri ključne reči dobio sam oko 10MB podataka (1min= 120MB 1h = 7GB). Ovo su nestruktuirani podaci iz kojih možete izvući dosta zaključaka, ali neću sada o tome, hteo sam samo da pokažem da je Big Data oko nas.

Često čujem da je to samo za velike firme, ali mislim da postaje realnost i za neke srednje, odnosno za one koje teže da rastu. Analizirajući stanje u našoj zemlji došao sam do zaključka da je čak i kod nas primenljivo. Neke firme su u mogućnosti da prikupe velike količine podatka, neke možda i imaju implementiran Big Data softver, a gotovo sam siguran da se prate zapadni trendovi ulaganja u nove tehnologije, da bi i neke firme već imale zavidna dostignuća.

Big Data je jako prisutna u telekomunikacijama, medicini, trgovini, proizvodnji… Takođe, mogu da potvrdim da se u Laboratoriji za elektronsko poslovanje na Fakultetu organizacionih nauka testiraju mogućnosti Big Data tehnologija. Nadam se da i ostali fakulteti bar koliko-toliko pokušavaju da spreme kadrove za ove nove izazove, kako bi bili konkurentni na tržištu.

Big Data softver.

Big Data Izvori Podataka

Big Data Izvori Podataka

Što se tiče softvera za skladištenje i obradu velikih količina podataka trenutno znam samo za Hadoop. Naravno, neke firme poput IBM-a i HP-a su uzele delove Hadoopa i stvorile svoje platforme, ali koliko sam upoznat Hadoop i neka Hadoop filozofija se provlače svuda. Ove godine su održane i dve velike Hadoop konferencije, tako da može da se kaže da je Hadoop postao de fakto standard kao softver za Big Data. Naravno, tu je Google od koga je sve krenulo, ali njihov softver nije za upotrebu od strane drugih kompanija.

Prednosti i nedostaci.

Šta su prednosti uvođenja Big Data u poslovanje? Smatram da mogućnost samog predviđanja i posedovanja vrednih informacija pre svih je nešto što je danas vrednije od novca. Kao što je to prednost, javlja se i nedostatak na strani običnih ljudi, čiji se podaci sakupljaju u Data centrima raznih firmi. Postoji primer u SAD-u, kompanija Target je stalno slala šesnaestogodišnjoj devojci ponude za opremu za bebe i slično, što je zasmetalo njenom ocu koji je tužioTarget. Ispostavilo se da je devojka stvarno trudna, da je Target sistem sa preporuku odradio svoj posao. Posle toga otac je morao javno da se izvini. Ovo je jedan pomalo zastrašujući primer korišćenja Big Data. Postavlja se i pitanje etike u ovim slučajevima. Lično mislim da je korišćenje Big Data u prodaji i marketingu interesantno sa aspekta etike – sa jedne strane da li želimo da sve znaju o nama, a sa druge bolje da me bombarduju reklamama za ono što me interesuje, nego svime (ako imate Facebook, posmatrajte šta vam nude reklame, uporedite u odnosu na ono što pretražujete dok koristite Facebook). Naravno nije Big Data zlo, možda avion sa stotinu putnika ne padne u okean baš zbog Big Data ili se spreči ekološka katastrofa na bušotini nafte. Mislim da Big Data i softver za Big Data pružaju ogromne mogućnosti i da je sve na onima koji ih koriste.

Big Data

Big Data

 

Kako je Hadoop vezan za Big Data, tako postoji još tema o tehnologijama koje nisu Big Data tehnologije, ali imaju vezu sa njom. S vremena na vreme biće tekstova i o tome, naravno primarni ostaju Hadoop i Hadoop ekosistem. Trudim se da stvorim širu sliku i da do trenutka kada počnem da pišem neke naprednije stvari stvorim uvod u Hadoop. Znam kako je teško početi baviti se ovim, zato pokušavam da pomognem svima koje to interesuje, pa za sve koji su zainteresovani Hadoop Srbija je mesto okupljanja. Sa znanjem koje trenutno posedujem pomoćiću koliko mogu. Nadam se da interesovanje za Hadoop-om u Srbiji i regionu raste i da će jednog dana nastati zajednica ljudi koji su zainteresovani ili se bave ovim. Ja sam tu da i dalje hadupujemo. Sledeći tekst je o primeni Hadoop-a.

 

Hive, SQL za Big Data

Često sam čuo pitanje “Da li je Hadoop zamena za relacione baze podataka?”. Odgovor na ovo pitanje je krajnje jednostavan – NE. Hadoop je samo nadogradnja na sve postojeće tehnologije koje obrađuju podatke,  šta više, često se kombinuju relacione baze i Hadoop. Detaljan tekst o ovome ostavljam za neke kasnije dane, ali sam morao da pomenem makar na kratko zbog opisa predstojećeg alata.

Primer

Primer

Šta je Apache Hive?

Apache Hive je infrastruktura za skladištenje podataka izgrađena na Hadoop-u. Služi za obradu podataka. Hive takođe predstavlja de fakto standard za SQL upite nad velikim količinama podataka, odnosno Big Data. Hive pruža nešto što se naziva HiveQL koji je jako sličan SQL-u. Čak sam negde pročitao da je pravljen po SQL standardima iz ‘92. godine. Podržava dosta funkcija koje ima standardni SQL, ali je i dalje u razvoju. Ovo je jako dobro za one koji su već upoznati sa rasprostranjenim SQL-om, što znači da je razdaljina od početka učenja do korišćenja Hive-a jako mala. Ovaj alat se lako integriše sa postojećim alatima korišćenjem JDBC ili ODBC interfejsa, tj. moguće je povezati i sa excel-om i drugim sličnim alatima.

U suštini Hive je tu da olakša organizovanje i skladištenje velikih količina različitih podataka iz različitih izvora. Hive pruža mogućnost korisnicima da pretraže, struktuiraju i analiziraju podatke za BI (poslovna inteligencija).

Kako funkcioniše?

Način rada Hive-a je jako sličan relacionom modelu, tabele su slične tabelama iz relacionog modela, a podaci su organizovani u taksonomiji od većih ka manjim jedinicama. Baze su sačinjene od tabela, a tabele od particija. Podacima se pristupa poznatim upitima koji su identični SQL-u, razlika je da Hive ne podržava brisanje i ažuriranje podataka. Neko će se pitati zašto je tako. Ako se sećate, u tekstu o HDFS-u sam pisao da se podaci samo mogu upisivati, ali ne i menjati, a kako Hive radi na Hadoop-u, onda je logično zašto je to tako. Ovo je neko moje razmišljanje zašto je to tako, verovatno da će u budućnosti i ove opcije biti moguće.

Hive Arhitektura

Hive Arhitektura

U svakoj bazi podataka, podaci u tabelama su serijalizovani i svaka tabela ima odgovarajući HDFS direktorijum. Takođe, podatke je moguće podeliti i u particije zbog lakšeg organizovanja, nadalje podaci se mogu podeliti u  manje celine (buckets). Hive podržava primitivne tipove podataka kao što su TIMESTAMP, STRING, FLOAT, BOOLEAN, INT, BIGINT…

Kada i ko koristi Hive?

Prošli tekst je bio o HCatalog-u i dosta puta sam spomenuo Hive. Iz nekog svog iskustva – ako sam mogao da iskoristim HCatalog onda sam u većini slučaja koristio i Hive, možda zbog toga što sam upoznat sa SQL-om, ali i zbog prirode podataka sa kojima radim. Oni koji su probali da rade Hadoop ili počinju da rade obično koriste Hive. U principu Hive je jako moćan alat, ali nije za sve. Treba voditi računa kada ga koristiti, ali za početak rada sa Hadoop-om, odnosno sa obradom velike količine podataka svakako preporučujem Hive. Jedna interesantnost je da Facebook jako puno koristi ovaj alat i dosta doprinosi njegovom razvoju.

Primer

Primer

O Hive-u bih mogao još dosta da pišem, ali trudim se da ovi uvodni tekstovi budu kratki i precizni. Jako je nezahvalno pisati o ovakvim alatima jer oni traže primere, što bi uskoro i trebalo da se nađe na blogu. Ako je neko više zainteresovan uvek može da ostavi komentar ili mi pošalje mail. Trenutno sa kolegama radim dosta baš sa Hive-om. Ja lično malo više oko optimizacije samog alata i podešavanja memorije, ali nadam se da mogu da pomognem oko dosta pitanja. Preporučujem da malo istražite ovaj alat, na internetu ima mnogo materijala, a kao što je i pomenuto, sličan je SQL-u, pa možete da tražite i takva rešenja. Ohrabrujem one koje zanima Hadoop da mu se što više posvete, jer polako dolazi vreme kada Hadoop kuca i na vrata kompanija u Srbiji. Sledeće nedelje novi tekst, nadam se još interesantniji, pa budite tu da zajedno hadupujemo!