Hadoop poslovi
Nakon teksta o primeni Hadoop-a došlo je na red da probam da opišem kakva je podela poslova vezanih za Hadoop i njegov ekosistem. Big Data je široka oblast, takođe i Hadoop. Možda je pre nekoliko godina bilo moguće reći “Bavim se Hadoop-om.” i da to znači da je cela oblast pokrivena. Sa konstantnim unapređenjem Hadoop-a i rastom ekosistema oko njega nije više moguće raditi i znati sve perfektno. Hadoop je evoluirao i sve je veći broj korisnika ove tehnologije.

Ako pogledate oglase za posao u inostranstvu, videćete da se obično traže ljudi na poziciji Big Data developera, arhitekte ili slično. Nažalost, kod nas ih još nema, ali se scena polako postavlja. Još uvek nije skroz definisan neki određen naziv radnog mesta i šta je sve potrebno znati, već sve zavisi od kompanije do kompanije. Sada već možda postavljate pitanja zašto ovo pišem kada možda to nije ni bitno. Do pre mesec dana ili malo više trudio sam se da u učenju Hadoop-a pokrijem sve, što je, moram priznati, teško i onda sam naleteo na jedan članak koji je objavio Hortonworks na svom blogu. Tekst je bio o njihovoj HDP 2.1 platformi koju i inače testiram i postojao je deo o timu. Oni su na osnovu svoje platforme koju nude definisali par radnih mesta i koje alate je potrebno detaljnije znati kako bi bili konkurentniji. Moram da napomenem da ovo nije de fakto standard, ali je odličan vodič za one koji počinju da se bave Hadoop-om. Na osnovu ove podele možete potražiti i slične alate koje nude druge kompanije. Isto tako moram da napomenem da su platforme koje dobijate sa drugim firmama gotovo identične HDP-u.
Jedna napomena – ko god da želi da se bavi Hadoop-om MORA da bude upoznat sa osnovama svih komponenti Hadoop-a, ne mora sa alatima iz ekosistema. Četiri komponente Hadoop-a su polazna tačka, tekst o njima možete naći ovde. Lično se trudim da na blogu pokrijem osnove svakog aspekta Hadoop-a i njegovog ekosistema, kako bih pomogao da se stvori početna tačka u učenju Hadoop-a. Radim na tome da se sve podigne na viši nivo i bilo ko može da mi se pridruži.
The Data Architect – odgovoran je za početni plan i arhitekturu implementacije Hadoop-a, odnosno treba da integriše Hadoop sa postojećom infrastrukturom unutar firme. Postavlja standarde za bezbednost Hadoop klastera, takođe treba da poveže klaster sa izvorima podataka. Ukratko rečeno mora da se postara da Hadoop funkcioniše sa ostalim sistemima unutar firme.
Moram da priznam da je jako odgovoran posao, jer ako se odlučite za ovo na vama je odgovornost i zadatak da predvidite šta je sve potrebno za datu firmu, morate da predvidite sve izvore podataka, da poznajete ostale alate koji se koriste u nekoj firmi. Najčešće je potrebno poznavati BI alate i ostale alate koji igraju ključnu ulogu u Data centru. Što se tiče Hadoop-a, ljudi iz Hortonworks-a preporučuju dobro poznavanje sledećih alata:
- Apache Falcon – alat za upravljanje podacima unutar klastera
- Apache Sqoop – alata za transfer relacionih baza u HDFS
- Apache Flume – alata za transfer podataka
- HCatalog – strukturni prikaz podataka
- Apache Knox – bezbednost klastera

O ovim alatima ću tek naknadno pisati, odnosno tekst o HCatalog-u možete naći na blogu. Naravno, kao što sam napomenuo, ovo je samo vodič. Flume i Knox imaju svoje zamene koje lako možete naći na Internetu. Ako želita da krenete u ovom pravcu slobodno me kontaktirajte, jer lično najviše radim sa Flume-om i Sqoop-om, a za sad testiram Falcon i naravno radim implementaciju Hadoop-a, tako da se može reći da težim da istražujem Hadoop u ovoj oblasti.
The Data Scientist – analizira podatke unutar Hadoop klastera, tražeći šablone i zakonitosti iz podataka, odnosno od podataka pravi informacije. Najčešće radi sa skriptama i SQL-om, primenjuje i složene algoritme za obradu podataka. U suštini ljudi koji se bave ovim poslom mogu lagodno i bez problema da ga obavljaju i na Hadoop klasteru. Najčešće koriste Hive o kome sam pisao, ali takođe i Apache Mahout – mašinski jezik, i Apache Solr – pretraga na jeziku bliskom ljudima.
Za sada jedino što sam radio u ovom delu je Hive i testirao Mahout, ali u nedovoljnoj meri. Ako nekoga zanima Hive ili R (statistika), može da me kontaktira jer se jedan kolega fokusirao na ovu oblast. Moram da priznam da je ovaj posao jako specifičan, jer vam ništa ne garatnuje da ćete ceo posao odraditi u Hive-u ili R-u. Može da vam se desi da je potrebno kombinovati više alata kako biste došli do cilja, plus na sve ovo dodajte i vizuelizaciju.
The Business Analyst – slično Data Scientist-u teži da od podataka dobije informaciju, ali koristi poznate metode, odnosno one koje se koriste i u tradicionalnoj obradi. Njihov posao je da dobiju informacije vezane direktno za firmu, a zatim da ih vizualizuju i naprave izveštaje za izvršne menadžere. Takođe, mere uspeh kompanije zaključcima iz dobijenih informacija. Na primer, poznavanje Excela se podrazumeva. Najčešće rade sa Hive-om i HCatalog-om.
Iskreno na oglasima za posao obično je ovaj set znanja objedinjen sa setom znanja Data Scientist-a.
The Developer – odgovoran je za izradu aplikacija na Hadoop-u i van njega, kako bi sistem dobio novu vrednost i bio poboljšan. Za ovaj posao je potrebno znanje pisanja koda u Javi, drugi jezici su takođe podržani, ali kako je Hadoop napisan u Javi, preporučujem nju. Takođe, veznao za Javu, poznavanje Spring framework-a i Cascading framework-a je postalo standard za izradu aplikacija. Hadoop i alati iz ekosistema imaju odlične API-je i uz otvorenost i podršku zajednice možete napraviti gotovo sve što zamislite.
The System Administrator – i do sada je bio izazov održavati sisteme, sada sa pojavom Hadoop-a i klastera koji imaju na hiljade mašina, rekao bih da je to više od izazova. Zadatak Hadoop sistem administratora je da prati, održava i upravlja Hadoop klasterom. Za ovaj posao najčešće se koristi Ambari o kome sam pisao tekst koji možete naći ovde. Nemam iskustva sa klasterima od hiljadu mašina, ali znam iz ličnog iskustva da održavanje i praćenje jednog klastera od par mašina može da izazove glavobolje. Uz Ambari je sve olakšano, ali morate da pazite o optimizaciji memorije, loša konfiguracija može da vas vrati na početak i na ponovno instaliranje Hadoop-a, verujete mi, znam iz iskustva. Isto tako, morate da vodite računa i o bezbednosti.
Ako pogledate iz čega se sve sastoji Hadoop, sigurno ćete zaključiti da je teško imati ceo set ovih veština i da je potrebno da se usmerite. Nadam se da ovaj tekst može da vam pomogne pri odluci. Naravno, savet je da probate što više možete kako biste sagledali širu sliku. Isto tako, još jednom da naglasim da ovo nije standard po pitanju Hadoop poslova, u šta se možete sami uveriti, nego vodič. Ja se lično držim ovoga i misli da je sasvim korektno ako želite da se bavite Hadoop-om. Nadam se da su vam moji tekstovi makar od male pomoći, ja ću se truditi da što više pišem i da pomognem onima koji žele da hadupuju.