Big data menja budućnost skoro svake industrije. Očekuje se da tržište big data dostigne 23.5 milijardi dolara do 2025. Data nauka postaje sve atraktivnije zanimanje za mnoge ljude. Ipak, budućnost je maglovita za one koji nisu najbolje upoznati sa samom karijernom putanjom. Jedna od brojnih mogućnosti je i karijerna putanja data inženjera.

Ako želite da postanete data naučnik, trebalo bi da počnete sa pregledanjem koje su vam karijerne opcije dostupne. Nortvestern univerzitet je objavio odličan spisak načina kako ljudi mogu krenuti putem karijere u data nauci. Takođe bi trebalo da naučite kako izgleda karijerna putanja koju je potrebno da pratite pre nego što počnete, što podrazumeva savladavanje odgovarajućih programskih jezika.

Karijerna putanja data inženjera korak po korak

Sa napretkom tehnologije, oblast data nauke se rapidno razvija. Za razliku od starih dana kada su podaci bili pohranjivani i dostupni u jedinstvenoj bazi podataka, a data naučnici su imali potrebe da nauče nekoliko programskih jezika, sada su količine podataka narasle sa tehnologijom. Rast i razvoj bilo koje kompanije podrazumeva da ona mora početi da barata ogromnim količinama podataka iz različitih izvora. Neki dolaze u grupama, a drugi se crpe iz različitih izvora i kanala različitih veličina. To objašnjava trenutan uspon u potražnji data inženjera, pogotovo u kompanijama koje su vođene podacima.

Imajući to u vidu, ako ste odlučili da budete data inženjer, upoznavanje big data i različitih karijera će vam biti od pomoći. Vodič u nastavku iscrtava putanju kojom bi trebalo da krenete kako biste postali data inženjer.

Naučite programiranje

Razumeti povezanost između data nauke i softverskog inženjeringa je veoma važno za data inženjere. Da biste postali uspešan data inženjer, naučiti kodiranje i druge veštine softverskog inženjeringa je od suštinskog značaja. Na svu sreću, nećete morati da učite sve programske jezike osim osnovnih. Data inženjering se primarno razvija oko dva jezika za kodiranje – Python i Scala.

Trebalo bi da naučite pisanje Python skripti i kreiranje softvera. To će vam omogućiti da iskoristite odgovarajuće algoritme kako biste pravili dobar, ispravno struktuiran softver koji radi. Prema tome, trebalo bi da pronađete dobre kurseve za učenje kako biste razumeli  osnove ili unapredili svoje poznavanje jezika Python.

Slično tome, različiti alati koji se koriste u data inženjeringu su vezani za Scala. Scala radi na Java Virtual Machine, što je čini kompatibilnim sa različitim dostupnim Java bibliotekama. Stoga je preporučljivo pohađati uvodni kurs Jave.

Savladajte Data Scripting i automatizaciju

Data automatizacija je nezaobilazna za data inženjere iz mnogo razloga. Izuzetna automatizacija pomaže u baratanju rastućim količinama podataka i zadacima koji se ponavljaju. Na primer, automatizacija je zgodna kada treba da raščistite neke zadatke koji se obavljaju svakog sata ili svakog dana. Postići ovo takođe podrazumeva uključivanje različitih alata za automatizaciju.

Najvažniji alati za automatizaciju uključuju shell scripting tool, koji obaveštava UNIX server koji zadatak i kada treba da se izvrši, zatim CRON, koji zakazuje zadatke u vremenu i označava tačno kada određeni zadaci treba da budu izvršeni, kao i Apache Airflow, koji se oslanja na dostupne mogućnosti skriptinga kako bi zakazivao data tokove posla.

Steknite razumevanje baza podataka

Kao data inženjer, primarno ćete raditi sa bazama podataka. Shodno tome, trebalo bi da počnete da učite SQL osnove. SQL je poznati programski jezik koji se naširoko koristi u data inženjeringu. Baš kao i programiranje, SQL ima više dijalekata. Ipak, ne treba sve da ih naučite. Dajte prioritet MySQLPostgreSQL kako biste razumeli osnove.

Pored SQL, trebalo bi takođe da naučite kako da modelirate podatke. To definiše kako različiti različiti data entiteti interaguju sa sistemom i kako se iz njega izvlače konstruktivne informacije. Iz tog razloga, naučite esencijalne tehnike kao što je “star schema” i normalizacija baza podataka. Trebalo bi takođe da naučite da razlikujete baze podataka optimizivane za transakcije i analize.

Naučite tehnike Data procesiranja

U ovoj fazi, trebalo bi da razumete osnove programiranja, automatizovanja zadataka i korišćenja SQL-a. Sa ovim osnovama, možete nastaviti sa učenjem kako da postupate sa big data u grupama. Kao što je pomenuto, trenutno podaci dolaze iz različitih izvora i u različitim obimima. Pribavljanje i organizovanje takvih podataka se zove data procesiranje.

Data inženjeri koji se bave malim skupovima podataka bi mogli olakšati data procesiranje ako koriste Python, dplyr, ili SQL. Ipak, ako imate gabajte i terabajte podataka, možete se odlučiti za paralelno procesiranje. Pogodnosti paralelnog procesiranja podataka su to što možete procesirati korišćenjem veće snage i možete bolje iskoristiti memoriju u svim jedinicama za data procesiranje.

Često korišćen endžin za paralelnu obradu podataka je Apache Spark. Spark prevazilazi stare paralelne sisteme kao što je Hadoop, jer je napisan upotrebom Scala i pomaže da se prespoji sa drugim programskim jezicima i drugim alatima kao što je Dask. Procesiranje podataka se često obavlja u grupama. Ipak, ako imate ogromne količine podataka, treba da naučite kako da ih procesirate u tokovima.

Poslednja faza obrade podataka je učitavanje rezultata u ciljanu bazu podataka. U većini slučajeva, data inženjeri koriste MPP bazu podataka da pohrane obrađene podatke. U svakom slučaju, baza podataka koristi paralelno procesiranje kako bi izvršila analitičke upite.

Zakažite tokove posla

Nakon što ste kreirali zadatke koji obrađuju podatke upotrebom Sparka ili nekog drugog endžina, trebalo bi da zakažete redovne poslove. Za te potrebe, možete koristiti CRON ili Apache Airflow, u zavisnosti od alata koji odgovara vašem toku posla. CRON je najbolji za sitne zadatke, dok Apache Airflow radi sa naprednim i međuzavisnim podacima.

Savladajte računarstvo u oblaku

Značaj računarstva u oblaku za data inženjering se ne može zaobići. Inicijalno, kompanije vođene podacima, poput banaka i bolnica, su koristile unajmljene data centre ili iznajmljuju servere u data centrima. Ipak, takvi aranžmani su imali različite nedostatke, uključujući gubljenje velike količine serverskog vremena i neizbežnu potrebu za geo replikacijom.

Takav manjak praktičnosti prilikom korišćenja data centara je ono što je dovelo do rađanja platformi u oblaku. Za razliku od data centara, platforme u oblaku centralizuju procesorsku snagu. Na primer, ukoliko bi neki od kupaca platforme imao neiskorišćeno vreme, drugi bi mogao imati špic. Platforme u oblaku takođe raspoređuju procesorsku snagu podjednako.

Data inženjeri bi trebalo da nauče kako rade platforme u oblaku. Među popularnijima su Microsoft Azure, Google Cloud Platform, i Amazon Web Services. Više nalik data centrima, platforme u oblaku obavljaju nekoliko usluga, uključujući skladištenje u oblaku, obračunavanje, upravljanje klasterima i obradu podataka.

Pratite industrijske trendove

Data inženjering, kao i svaka druga karijera, jeste oblast koja se konstantno menja. Stoga, važno je da uvek imate na raspolaganju prave alate za svoj posao i izbegnete komplikovanje big data rešenja. Neki od najboljh načina da pratite industrijske trendove su:

  • Držite oko na novim softverima i servisima, kao što su Rockset, Koalas, i Metaflow.
  • Pratite konferencije i predavanja sa temom data inženjeringa na ApacheCon i drugim platformama.
  • Slušajte podkaste kao što je Data Engineering Podcast.
  • Pregledajte liste data inženjering alata na relavantim platformama, kao što je GitHub.

Da li je karijerna putanja data inženjera za vas?

Odluka da se postane Data inženjer isklučivo počiva na vašem planu karijere i interesovanju. U suštini, Data inženjeri pripremaju i čine dostupnim podatke za Data analitičare i naučnike. Ukoliko to izaziva vaše interesovanje, nemojte oklevati da se upustite u data inženjering. Data inženjering je takođe i među poslovima u tehnologiji koji najbrže rastu globalno. Uz povećanu potražnju za data inženjerima, možete biti sigurni u zapošljavanje neposredno nakon obuke. Da biste postali data inženjer, treba da steknete diplomu iz računarskih nauka ili bilo koje druge vezane oblasti.

60+ besplatnih onlajn kurseva top univerziteta: Data Science, Računarske nauke, Programiranje