Czym zajmuje się taki "Big Data Engineer with Spark"?
O ile widzę sens zawodu hadupka, bo zwykły analityk może mieć problem pisać dobrze te mapreducy, o tyle sensu dla zawodu sparkownika nie widzę.
Api sparka jest na tyle proste i samooptymalizujące się, że analitycy danych sobie z nim poradzą. Pozostaje kwestia konfiguracji klastrów i monitorowania, no ale to już raczej robota dla admina a nie deva?
API Sparka jest proste, ale poprawne ustawienie produkcyjnych pipelinow już nie jest. Trzeba mieć dobra wiedzę z JVM, networkingu i działania systemów rozproszonych, żeby wiedziec co robić.
Pomijam już fakt wszystkich optymalizacji Sparkowych - o tym są grube książki :)
Jeżeli oceniasz złożoność technologii na podstawie API, to życzę powodzenia w tym biznesie ;) optymalizacja jobów sparkowych to gruby temat podobnie jak optymalizacja zapytań SQL (no prawie). Poza tym wokół Sparka tez jest bogaty ekosystem (SparkSQL, MLlib, Airflow, ...) - podobnie jak od „Java Developera” nie wymaga się jedynie znajomosci języka Java.
No chyba po to pyta żeby się dowiedzieć i wprost zaznacza, że nie ma w temacie za bardzo orientacji, więc nie rozumiem czepiania się człowieka.
Czyli jak na razie mamy optymalizację jobów i pipelinów (chodzi o strimowanie?). Czy takimi rzeczami nie zajmują się przypadkiem chłopcy od ETL?
Czy "Big Data Engineer" to chłopiec od ETL tylko, że na tech. big datowych?
Dodatkowe pytanie:
jaka jest naturalna droga do zostania takim sparkownikiem czy hadupkiem?
chłopiec od ETL -> sparkownik?
a może: scalowiec? javowiec? pythonowiec? (developer) -> sparkownik?
albo: bazodanowiec -> sparkownik?
analityk -> sparkownik?
Dodatkowe pytanie:
jaka jest naturalna droga do zostania takim sparkownikiem czy hadupkiem?
Dzieliłem się na tym niedawno na mikoroblogu :P W niedzielę opublikowałem post o jednej z możliwych dróg czyli tej jaką przeszedłem :) https://www.waitingforcode.com/general-big-data/becoming-data-engineer-feedback-my-journey/read
Czy "Big Data Engineer" to chłopiec od ETL tylko, że na tech. big datowych?
ETL również mżę być na technologiach Big Data, a w zasadzie na dużych zbiorach danych :P
Osobiście wolę pojęcie data engineer czy też inżyniera danych, którego rolą jest nie tylko samo pisanie pipeline'ów, ale też dbanie o dostępność danych, ich jakość i bezpieczeństwo, zarówno w partii offline (batch), jak i real-time (streaming). Apache Spark jest jednym z dobrych kandydatów do tego, ale są też różne inne alternatywy jak Apache Flink czy Dataflow, który jest serverlessowym serwisem do przetwarzania danych na Google Cloud Platform. Podobna alternatywa istnieje na Azure i AWS w postaci serwisu Databricks tak swoją drogą. Ale piszę o cloudzie nie przez przypadek, bo z tego co obserwuję, jest on nieodłącznym elementem wielu projektów z racji nie tylko na większą dostępność zasobów (compute i storage), ale także łatwiejszą abstrakcję wielu rzeczy, jak katalogowanie (katalog AWS Glue), bezpieczeństwo (kryptowanie danych, kontrola dostępu z poziomu ról providera, często nawet filtry dostępu z poziomu row-level), no i dostępności poprzez serverlessowe serwisy zapytań jak Athena, nie wspominając o data warehousach typu BigQuery, Redshift czy Snowflake.
Podsumownując, Spark, czy też inna biblioteka do dystrybuowanego przetwarzania danych, to tak naprawdę tylko cząstka naszej pracy :) Przypisywanie technologii może być dobrym skrótem na początku, ale na samym końcu zawsze będzie więcej konceptów do przyswojenia ;)
Trzeba rozróżnić osoby, które "przerzucają" dane (klasyczny ETL bądź ELT z wykorzystaniem Sparka) od osób, które robią jakiś data mining.
Klasyczny ETL -> Scala (częściej spotykam niż pythona)
Data science, jacyś analitycy -> zazwyczaj pySpark + pandas
Tak jak kolega wyżej napisał, jest wiele ciekawych alternatyw obecnie dla Sparka w postaci nowych technologi od AWS/Google/Azure i hurtowni danych SaaS bądź PaaS.
Ogólnie na rynku widzę trend łączenia wszystkich technologii, żeby stworzyć pełny stack analityczny, przykładowo AWS Glue + Redshift + Tableu.
@bartosz25: @michal4411
co sądzicie o tej podyplomówce? http://datascience.ii.pw.edu.pl/bigdata.html#program