Najnovija i vrlo detaljna putanja učenja za velike podatke u 2026. (preporuka za čuvanje 🔥)
O velikim podacima
- godine nastaje koncept skladišta podataka (data warehouse)
- godine nastaje Hadoop
- godine pojavljuje se koncept jezera podataka (data lake)
- 201X. godine pojavljuju se platforme za velike podatke
- godine Alibaba predlaže koncept srednjeg sloja za podatke (data middle platform)
Okviri za obradu velikih podataka se mogu podeliti na:
Prikupljanje podataka: prvi korak u obradi velikih podataka. Prvi način jeste povremeno preuzimanje ili sinhronizacija u realnom vremenu pomoću alata poput Sqoop-a ili Canal-a; drugi način su razni logovi koji se prikupljaju putem Flume-a u realnom vremenu.
Skladištenje podataka: drugi korak u obradi velikih podataka; podaci se skladište u HDFS, a u slučaju tokova logova u realnom vremenu prosledjuju se kroz Kafka prema engine-u za obradu tokova koji sledi.
Analiza podataka: ključna faza obrade velikih podataka; obuhvata batch obradu i stream obradu, a odgovarajući engine-i uključuju MapReduce, Spark, Flink itd. Rezultati obrade čuvaju se u unapred projektovanom skladištu podataka ili u raznim sistemima skladištenja poput HBase-a, Redis-a ili RDBMS-a.
Primenapodataka: vizualizacija podataka, korišćenje u AI itd.
Putanja učenja za velike podatke
1) Osnove jezika
Java
Većina framework-a za velike podatke razvijena je u Java-i i gotovo svi pružaju Java API.
Za učenje Java-e, jasno, najbolje je da posetite sajt „Ergov put za naprednu Java-u".
Ako želite štampanu knjigu, preporučujem „On Java 8".

Scala
Scala jeste statički tipiziran programski jezik koji objedinjuje koncepte objektno-orijentisanog i funkcionalnog programiranja; radi na Java virtuelnoj mašini i može se neprimetno povezati sa Java bibliotekama — Kafka je napisana u Scala-i.
Zašto učiti Scala? Zato što i Flink i Spark nude Scala interfejse, a razvoj u Scala-i zahteva manje koda od Java 8. Pored toga, sam Spark je napisan u Scala-i.
Preporučujem dve knjige: „Brzo učenje Scale" i „Programiranje u Scala-i".

Naravno, Scala nije obavezna. Možete je naučiti i nakon što savladate Spark.
2) Osnove Linux-a
Preporučujem „Bird-ove privatne lekcije o Linux-u"

Ili instalirajte virtuelnu mašinu / cloud server sa Linux-om i vežbajte direktno.
3) Alat za izgradnju
Maven — na sajtu Ergovog puta za naprednu Java-u postoji tutorijal: https://javasi.dev/maven/maven.html
4) Učenje framework-a
- Okviri za prikupljanje logova: Flume, Logstash, Filebeat
- Distribuirani sistem za skladištenje datoteka: Hadoop HDFS
- Sistemi baza podataka: MongoDB, HBase
- Distribuirani okviri za obradu:
- Batch okviri: Hadoop MapReduce
- Stream okviri: Storm
- Hibridni okviri: Spark, Flink
- Okviri za upite i analizu: Hive, Spark SQL, Flink SQL, Pig, Phoenix
- Upravljač resursa klastera: Hadoop YARN
- Distribuirani servis koordinacije: Zookeeper
- Alat za migraciju podataka: Sqoop
- Okviri za zakazivanje zadataka: Azkaban, Oozie
- Postavljanje klastera i nadzor: Ambari, Cloudera Manager
Navedeni glavni okviri imaju aktivnu zajednicu i bogate resurse za učenje.
Prvo učite Hadoop — on je temelj ekosistema velikih podataka.
Zatim učite okvire za obradu — Spark i Flink su trenutno dva najglavnija hibridna okvira.
Možete učiti prema potrebama posla.

Ako vam je vreme ograničeno, pri prvom učenju dovoljno je da od svake kategorije okvira naučite po jedan.
Najautoritativniji i najiscrpniji materijali za učenje jesu zvanične dokumentacije, a zajednice su veoma aktivne.
Ovde ću nabrojati nekoliko kvalitetnih knjiga.
- „Hadoop: The Definitive Guide (četvrto izdanje)" 2017. godina
- „Kafka: The Definitive Guide" 2017. godina
- „Od Paxosa do Zookeeper-a — principi i praksa distribuirane konzistentnosti" 2015. godina
- „Spark tech insider — duboka analiza dizajna kernel arhitekture i principa implementacije Spark-a" 2015. godina
- „HBase: The Definitive Guide" 2012. godina
- „Hive programerski vodič" 2013. godina
Što se tiče videa, video materijali o velikim podacima sa Shang Silicon Valley su prilično dobri.
Saveti za učenje
1. Java
Ovo nije sporno — pogledajte Ergov put za naprednu Java-u; potrebno je da savladate i Spring Boot.
2. MySQL
Morate umeti da pišete složene SQL iskaze, kako biste pripremili teren za HQL u Hive skladištu podataka.
3. Linux
Softver povezan sa velikim podacima radi na Linux-u, zato Linux morate naučiti čvrsto.
Morate umeti da na Linux-u konfigurišete okruženje za izvršavanje i mrežna podešavanja za Hadoop, Hive, HBase, Spark i druge softvere za velike podatke.
4. Učenje Hadoop-a
Obuhvata:
- HDFS: skladištenje podataka
- MapReduce: obrada i računanje nad podacima
- Yarn: pun naziv Yarn-a jeste Yet Another Resource Negotiator, što znači „još jedan pregovarač resursa"; ovakvo imenovanje je slično „gostionici Sa imenom", prilično duhovito. Da dodam još jedno: u Java-i je postojao alat za kompajliranje koji se zvao Ant — njegovo ime je skraćenica od „Another Neat Tool", što u prevodu znači „još jedan alat za sređivanje".
Prvi korak — prvo neka Hadoop proradi.
Drugi korak — probajte da koristite Hadoop:
- Otpremanje i preuzimanje datoteka
- Predaja i pokretanje probnog MapReduce programa
- Pregled statusa posla i pregled logova posla
Treći korak — razumevanje principa:
- MapReduce: kako podeli pa vladaj
- HDFS: gde su podaci zapravo i šta je replika
- Šta je Yarn zapravo i šta može da radi
- Šta tačno radi NameNode
- Šta tačno radi ResourceManager
Četvrti korak — sami napišite MapReduce program.
5. Učenje Hive-a
Hive jeste SQL On Hadoop; Hive pruža SQL interfejs i programer samo piše jednostavne SQL iskaze, dok Hive prevodi SQL u MapReduce i predaje na izvršavanje.
6. Učenje prikupljanja podataka
Sqoop se uglavnom koristi za uvoz podataka iz MySQL-a u Hadoop.
Flume jeste distribuirani okvir za prikupljanje i prenos ogromnih količina logova; može u realnom vremenu da prikuplja logove iz mrežnih protokola, sistema poruka i datoteka, i da ih prenosi na HDFS.
DataX jeste open-source verzija alata za integraciju podataka iz Alibaba Cloud DataWorks-a.
7. Učenje Spark-a
Spark nadoknadjuje sporost MapReduce-a u obradi podataka.
8. Učenje Kafka-e
Podaci prikupljeni sa Flume-a ne idu direktno na HDFS, već prvo u Kafka-u; podatke u Kafka-i može istovremeno konzumirati više potrošača, a jedan od njih sinhronizuje podatke na HDFS.
Kombinacija Flume + Kafka vrlo je česta u obradi logova u realnom vremenu; kasnije se pomoću Spark Streaming-a i drugih tehnologija za obradu tokova može izvršiti analiza i primena logova u realnom vremenu.
9. Učenje zakazivanja zadataka — Oozie / Azkaban
10. Učenje obrade podataka u realnom vremenu — Flink / Spark Streaming

Da sumiram, evo i jedne mape misli kao vodiča za učenje velikih podataka.

