Spark + Python

0

Witam,

Ostatnio zacząłem się uczyć Sparka w połączeniu z Pythonem, ponieważ interesuje mnie wszelkie pojęcie danych a chciałem to połączyć z programowanie. Mam tylko pytanie, jak jest z pracą w tym kierunku a w zasadzie w połącziu Spark/Python? Może ktoś bardziej doświadczony mógłby się podzielić opinią. Ewentualnie jakie inne połączenia są bardziej popularne?

0

Dobrze jest... ale to nie wystarczy - zabrales sie za dosc ciezki temat jak na poczatek...

0

"Ewentualnie jakie inne połączenia są bardziej popularne?"

Spark + Scala + Kafka

1

Data scientist (modele, uczenie maszynowe, sieci neuronowe): Python

Developer: Scala

Naturalnie nie jest tak zawsze, ale ten pierwszy używam Pythona bo jest tam pełno fajnych bibliotek statystycznych i tym podobnych. Ten drugi bo scala to język obiektowo-funkcyjny mozna tworzyc ladny kod i łatwy utrzymaniu.

2

Odpowiadając na Twoje pytania:

  • Jak jest z pracą w tym kierunku a w zasadzie w połącziu Spark/Python?
    Oczywiście takich stanowisk jest mniej, niż "standardowej webówki" bo i są mniejsze potrzeby rynku na stanowiska tego typu. Od jakiegoś czasu mamy boom na "Data Engineer/Scientist" więc i tych ogłoszeń przybywa.

  • Ewentualnie jakie inne połączenia są bardziej popularne?
    To jest źle postawione pytanie, te "połączenia" wynikają z problemu do rozwiązania. W jednym przypadku użycie MapReduce z danymi pobieranym z HDFS spełni swoją rolę, Innym razem Impala z HDFS też rozwiąza problem innego rodzaju. Kafka + Storm też mają swoje zastosowania, a może Pig + HDFS? A może Hive? Dlaczego nie, też rozwiązuje część problemów? A skoro HDFS to w pliki w jakim formacie? Może zwykłę SequenceFile? A może pliki txt? A może Parquet? A może Apache Drill z HDFS? A jeśli nie Hadoop, to może Apache Beam razem z Dataflow i PubSub? A może nie hostować samemu klastów Hadoopa i iść w Dataproc? A czy dane będziemy przetwarzali wsadowo czy strumieniowo? A ile tych danych będzie? Jak często mamy dostawać wyniki? itp, itd.

Takich "połączeń" jest masa... wszystko zależy od tego jaki problem chcesz rozwiązać. Do problemu dopasowuje się odpowiednie technologie, które dany problem rozwiązują. Nie znam "uniwersalnego młotka" rozwiązującego wszystkie problemy.

Patrząc na inne Twoje posty widzę, że "siedzisz w BI". Mam wrażenie, że zależy Ci bardziej na kierunku "Data Scientist" niż "Data Engineer". Jeśli się nie mylę to możesz rzucić okiem na:

  • Python + Jupiter + Numpy + Pandas (przetwarzanie danych, które pobierzesz innym narzędziem),
  • Tableau ("odkrywanie" danych),
  • Pig (eksploracja danych),
  • SQL (Impala, SparkSQL, BigQuery) (interaktywna eksploracja danych).

Moje sugestie też są subiektywne, na pewno osoby pracujące z innymi problemami mogą używać innych narzędzi, które też się świetnie sprawdzają w ich przypadku.

0

Czy Pig'a się używa na codzień? W sumie pracuje w branży i zazwyczaj bardziej tradycyjne języki typu python/scala ew. java. Pig jest fajny, szybko się piszę tylko jakoś mało osób to robi..... Pytanie czy są deweloperzy co spędzają na tym 50% swojego czasu?

Rozszerzając temat z Big data to jest tak: Nikt nie wie co będzie... Serio. Często jakieś projekty umierają jak np. Mahout z dnia na dzień, albo jakieś się wybijają jak ostatnio Flink (kiedyś Spark - zasadniczo spark to kombajn bo można w nim też zrobić prawie real time i jest już do używania tzn. wersja jest 2.1 czyli jak na te technologie dość wiekowa).

2

Data engineer : Java + Spark + Hadoop,SQL itp. (programista ukierunkowany na przetwarzanie dużych zbiorów danych)
Data Scientist : znajomość metod probabilistycznych/statystycznych/ekonometrycznych + uczenie maszynowe/ sieci neuronowe + python/R (scikit learn,keras, tensforlow itp.)
Statystyk, matematyka finansowa : R, SAS, SQL
Business analyst : Excell, VBA, SQL, R,SAS.
Pani bożenka z działu finansów : Excell

1

Janusz programowania: java, c/c++, python, c#, javascript, php, css, html, pascal, delphi, visual basic, swift, perl, cobol, ruby, rust, r, go, object-c, scratch

0
fozolif napisał(a):

"Ewentualnie jakie inne połączenia są bardziej popularne?"

Spark + Scala + Kafka

A co ma do tego kafka? Bo raczej nie jest konieczne wykorzystywanie sparka razem z kafka?

0

Tutaj jest przyklad zapotrzebowania na kafke i sparka. Teoretycznie to lub to, ale lepiej jak sie zna i to i to.

https://4programmers.net/Praca/26130-data_scientist_to_transform_gaming_industry

Fajna praca, czarno na bialym co potrzeba umiec, kwestia tylko checi i samozaparcia, no i na pewno tez umiejetnosci analitycznych.

0

A co ma do tego kafka? Bo raczej nie jest konieczne wykorzystywanie sparka razem z kafka?
Czy Pig'a się używa na codzień?

Kafka pozwala na przetważanie strumieniowe. Razem ze "spark microbatches" można "symulować" przetważanie tego typu. Pozwala to na natychmiatowe otrzymywanie wyników. Trochę inne podejście niż we wsadowym przetważaniu danych.

Z mojego doświadczenia mogę powiedzieć, że Pig używany jest raczej przez "analityków" niż "programistów". Sprowadza się to do przetważania danych w zrozumiały dla analityka sposób bez potrzeby dziubania w API Hadoopa czy Sparka.

0

Ok. Ale to jest jakis przyklad uzycia a nie, ze Spark i Kafka to nierozerwalna para. Moge uzywac kafki bez Sparka przeciez.

0

Sparka można używać z Kafka i warto to umieć po prostu (albo z innym brokerem). Nigdy nie zrozumiem gadania że Spark nie jest dla real-time... No może nie jest najszybszy, ale jak nie masz b. dużo danych a musi być realtime to Spark jest naturalnym rozwiązanie ze względu na dojrzałość. Bitwa ze Stormem może być trudna, pewnie podobnie z Flinkiem (Samza itd.).

Spark jest po prostu bardzo ciekawy, szczególnie ten w wersji 2.X.X.

0

W jaki sposob aktualizujecie cache zaladowane do Sparka? Czy moze robicie update w osobnym narzedziu?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.