Jak nauczyć się Apache Solr? Krok po kroku [Mapa drogowa]

Jak nauczyć się Apache Solr? Krok po kroku [Mapa drogowa]

Apache Solr to technologia fulltext search. Jedna z dwóch dominujących (obok Elasticsearch), dzięki którym zbudujemy zaawansowane wyszukiwarki. Niestety, w internecie niewiele jest miejsc, z których można się uczyć. Jednak warto! Solr to nietypowa technologia, bardzo ciekawa, a przy jej pomocy można zbudować wspaniałe rzeczy.

W dzisiejszym artykule chciałbym Ci przedstawić plan na to co zrobić, żeby nauczyć się Solr. Krok po kroku. Nie będę pisał o technikaliach, tylko dam swoistą mapę. Wraz z kilkoma wskazówkami;-). Kawa zaparzona? To lecimy! Zabieram Cię w “wyszukiwarkową podróż”;-).

Odcinek 1 – ogólna budowa Solr

Uwielbiam zaczynać “od ogółu do szczegółu”. Dlatego pierwsze co powinieneś poznac, to ogólna budowa Solr.

Mowa tu o następujących rzeczach:

  1. Co to w ogóle jest Solr?
  2. Ogólna budowa – architektura, struktury logiczne. Czym jest Zookeeper, czym jest Solr Cloud?
  3. Jak działa configset.

Odcinek 2 – Solr UI

W drugim odcinku naszej drogi warto przysiąść chwilkę nad Solr UI. To podstawowe miejsce pracy dla każdego Solrowca. Nie musisz tu siedzieć niewiadomo ile, po prostu zapoznaj się jakie możliwości daje Ci to narzędzie.

Kilka najważniejszych rzeczy:

  1. Ogólny przegląd
  2. Logi
  3. Monitoring fizycznych maszyn
  4. Tworzenie kolekcji
  5. Schema Designer
  6. Analiza w kolekcji

Odcinek 3 – Indexing

Indexing to proces zapisywania danych do Solr. Oczywiście nie jest to samo “upload” i heja!

W tym kroku warto pochylić się nad takimi rzeczami jak:

  1. Jak dane są układane, że mogą potem być bardzo szybko wyszukiwane?
  2. Jak indeksować dane pod względem technicznym? Narzędzie bin/post, requesty HTTP
  3. Indeksacja różnych formatów danych, ze szczególnym uwzględnieniem XML

Odcinek 4 – Przeszukiwanie

No wreszcie! Czas się nauczyć, jak się przeszukuje Solr. To oczywiście temat rzeka. Polecam się nie zagrzebać, tylko zrozumieć podstawy, najważniejsze funkcjonalności i pójść dalej. A na koniec zbudować sobie projekt z większymi zasobami i bawić się zaawansowanymi query.

  1. Ogólna budowa query. Co to jest, jak to się robi?
  2. Common Query Parameters
  3. Standard Query Parser i inne parsery
  4. Wildcard Search
  5. Fuzzy Search
  6. Proximity Search
  7. Zakresy/przedziały
  8. Facety

Odcinek 5 – SolrJ

W tym miejscu polecam zapoznać się z tym w jaki sposób komunikować się z Solr przez Javę. Pozwoli Ci to budować zaawansowane wyszukiwarki. Co więcej – jeśli opanujesz Solr w Javie ze Spring Bootem, znacząco zwiększysz swoją atrakcyjność na rynku.

Odcinek 6 – zbierz wszystko w całość i zbuduj coś wspaniałego!

Teraz wiesz już wszystko, co należy wiedzieć. Chociaż to oczywiście dopiero pewien szkielet. Czas zacząć go wypełniać treścią. Poszukaj dodatkowych mechanizmów, a przede wszystkim – zbuduj przydatny, pełnoprawny projekt. To pozwoli Ci się zetknąć z tym jak Solr działa w praktyce! No i będziesz mieć coś, czym się pochwalisz na rozmowie rekrutacyjnej czy na LinkedIn.

Swoją drogą… jeśli zrobisz coś fajnego, napisz mi na marek.czuma@riotechdatafactory.com!

Jeśli chcesz pójść zgodnie z tą mapą… mam dobrą wiadomość!

Bardzo istotna kwestia. Jeśli podoba Ci się ta droga, tydzień temu zbudowałem kurs online, który ją “implementuje”.

Przejdziesz tam wszystkie te kroki (łącznie z projektem!), a nawet więcej!

Pokażę m.in. jak wykrywać w jakim języku jest napisana treść. Jak dodać zamianę walut czy jak analizować język polski!

A to wszystko bez stresu, bez spiny, w Twoim zaciszu domowym;-).

Sprzedaż kursu zamykam 10 listopada 2023!

Kliknij w link i kup dostęp.

Zapisz się na newsletter główny i otrzymuj dostęp do info prosto od RDF;-)

 

Loading
Jak zacząć projekt w Big Data? Instrukcja onboardingu

Jak zacząć projekt w Big Data? Instrukcja onboardingu

Dziś bardzo, bardzo krótki wpis. W nawiązaniu do odcinka(20) podcastu “Big Data Po Polsku”. Poniżej przedstawiam krótką instrukcję – co zrobić, gdy wchodzimy do projektu? Jak się w nim odnaleźć? Czego odczekiwać i co skompletować w ciągu pierwszego tygodnia/dwóch?

Onboarding w projekcie Big Data. Instrukcja

  1. Ogólny cel + architektura.
  2. Poszczególne moduły + repozytoria do nich. Kluczowe mechanizmy modułów.
  3. Moduły a infrastruktura.
    • Gdzie są dane?
    • Jak uruchamiane są joby?
    • Gdzie są logi i jak je przejrzeć?
    • (jeśli jest Spark) Gdzie jest History Server?
  4. Linki do kluczowych miejsc. Repozytoria, serwisy, boardy (jira).
  5. Jak wygląda proces deploymentu?

 

A teraz – zapraszam do subskrypcji;-)

 

Loading
Jak zacząć pracę w Big Data? Moja Historia

Jak zacząć pracę w Big Data? Moja Historia

Jeśli myślisz o pracy w branży Big Data to sądzę, że zainteresuje Cię to, co chcę opowiedzieć.

W tym artykule cofniemy się do zeszłego roku (2022). Wyjaśnię, jak znalazłem rozwiązanie na wybranie odpowiedniej technologii i z jakimi przeszkodami się zmagałem szukając “furtki” do świata Big Data;-).

Zanim usłyszałem o Big Data

Początek roku był mglisty ze względu na to, że miałem kilka podejść do różnych technologii. Już wcześniej zdobyłem podstawowe umiejętności programowania obiektowego w Pythonie. Znałem również podstawy webdevu oraz relacyjnych i nierelacyjnych baz danych. W pracy używałem zarówno Pythona, jak i Javy do realizowania testów automatycznych, które pisałem i dokumentowałem (pozdro shared service). Ciągnęło mnie do wszystkiego, co się świeciło, w związku z czym zacząłem nawet czytać o Ruscie, myśląc o tym żeby zrealizować w nim pracę inżynierską (na szczęście odrzuciłem ten pomysł odpowiednio wcześnie).

Na przełomie drugiego kwartału dostałem zaproszenie do zaangażowania się w projekcie Javowym, ale ta technologia mnie przerosła – brak rzeczywistego doświadczenia w webdevie oraz poziom skomplikowania aplikacji z pewnością odegrał tu swoją rolę.

Mijał czas, a ja wciąż nie wiedziałem w którą stronę się rozwijać. Byłem niesamowicie sfrustrowany – i słusznie. Wpadłem na pomysł, aby do realizowania projektów wykorzystać równie pragnących (jak wtedy myślałem) rozwoju znajomych. Średnio to wyszło, ale cieszę się, że mimo mojej ówczesnej natarczywości jeszcze ze mną rozmawiają. Czas nieubłaganie mijał, a obrona mojej pracy inżynierskiej zbliżała się wielkimi krokami, więc postanowiłem działać. Z wykorzystaniem Flaska oraz Selenium stworzyłem WATS, czyli Web Automation Testing Simplified. Aplikację, która potwierdziła naszą tezę, mówiącą o tym, że testy automatyczne tworzy się dość łatwo i może to robić osoba niekoniecznie techniczna. I co najlepsze, działa i wygląda!

Dane, machine learning i… kolejne frustracje

Gdy napisałem aplikację do pracy inżynierskiej, poczułem że Python nie jest wcale takim prostym narzędziem (to złudne przeświadczenie narosło we mnie, kiedy próbowałem nauki języków kompilowanych). Aby zgłębić bardziej ten język postanowiłem zainteresować się uczeniem maszynowym. Nie rozumiałem matematyki idącej za algorytmami uczenia maszynowego, ale samo sprzątanie danych i robienie z nich rzeczywistego użytku w postaci wykresów zrobiło na mnie ogromne wrażenie. Postanowiłem bardziej się w to zagłębić. Spojrzałem ile zarabiają MLOpsi. Chciałem tyle samo. Zacząłem cisnąć temat. Zrobiłem certyfikaty Azure, aby zapoznać się bardziej z tematem chmur, danych oraz AI (były za darmo kiedy się uczęszczało na Virtual Training Day, kiedyś to było…). Jednak stanąłem przed ścianą, której nie mogłem pokonać.

Brak wiary w swoje możliwości, który wynikał z niezrozumienia algebry, nasilił się jeszcze bardziej wraz z realizowaniem zaawansowanych technik wytwarzania modeli uczenia maszynowego. Chciałem wejść w temat, jednak nie mogłem. Byłem na siebie zły z powodu wyboru uczelni, ponieważ nie poszedłem na Informatykę na studia dzienne. Postanowiłem, że powinienem obrać inną ścieżkę.

Zdając sobie sprawę że nie zostanę Data Scientistem, postanowiłem się uczyć metodologii DevOpsu. Jenkins, Docker, K8s, Ansible. Szło naprawdę dobrze, nawet ogarnąłem ładnie Jenkinsa oraz Dockera, ale odczułem, że pociąg już odjechał, a bez Kubernetesa nie ma co podchodzić do rekrutacji na juniora. Nie miałem też nikogo, kto mógłby mnie wyprowadzić z tego błędu.

Big Data – pierwsze spojrzenie

Znajomy raz podrzucił mi pomysł Data Engineeringu. Olałem to, bo pomyślałem że nic w tym ciekawego. Sprzątać dane, żeby inni mogli robić to, co jest najbardziej interesujące? To było w momencie, kiedy wypalałem się tematem ML, ale jeszcze nie upadłem przed ścianą.

Był późny grudzień, a ja nie miałem żadnych postanowień noworocznych. Na LinkedIn pojawił mi się artykuł Marka, który ogłaszał zapisy na szkolenie Fundament Sparka. Podczas nauki Data Science widziałem jakieś sugestie o Sparku, że ma bibliotekę do ML, do konkretnego Data Engineeringu oraz do analizy danych w zbiorach oraz streamowanych i że można go postawić na tanich kompach. Podobało mi się, że to narzędzie jest tak potężne, a na dodatek moja dotychczasowa edukacja pozwalała mi na łatwe wejście w temat. Postanowiłem, że zapiszę się na kurs. W końcu najlepsza inwestycja to ta w siebie. Nie myliłem się.

Po przerobieniu kursu zaintrygowany możliwościami Sparka, pythonową zwinnością i javową elegancją Scali w połączeniu z nowym dla mnie programowaniem funkcyjnym, podjąłem decyzję o dalszym rozwoju w stronę Data Engineeringu. Postanowiłem przerwać pasmo niepowodzeń i plątania się po technologiach.

Big Data – “all in”!

Ukończywszy kurs, Marek zaproponował mi udział w programie mentoringowym. Zależało mi na zmianie pracy, spróbowałem. Szeregowaliśmy wiedzę, siedzieliśmy na spotkaniach i podejmowaliśmy po kolei tematy, metodycznie. Jednocześnie, ciągle wysyłałem CV. Miesiąc po zakończeniu kursu dostałem propozycję pracy przy Sparku jako Big Data Support Engineer.

Uważam to za sukces mój, jak i Marka, bo bez uszeregowanej wiedzy przekazanej w dobry sposób i przygotowania pod względem technicznym do wykonywania tej pracy prawdopodobnie nie byłoby tak łatwo. Albo co gorsza, znowu bym się pogubił.

Dlatego, z pełnym przekonaniem, jeżeli się zastanawiasz czy mentoring to dobry pomysł, to uwierz mi, że jest. Nieważne na jakim poziomie zaawansowania, warto mieć opatrzność drugiej osoby, zwłaszcza z doświadczeniem.

Aktualnie, wraz z drugim uczestnikiem programu mentoringowego realizujemy projekt wykorzystujący realne dane (które sami pozyskujemy i przechowujemy :)) w środowisku okołoprodukcyjnym. Wykorzystujemy techniki, sposoby wytwarzania oprogramowania oraz standardy projektowe takie, jakie znajdziesz w realnym produkcyjnym środowisku. Oczywiście, głównym fundamentem jest Scala oraz Spark.

Pracuję również nad swoim blogiem technologicznym, w którym będę opisywać napotykane problemy, obserwacje oraz wnioski i mam nadzieję, że skończę to w niedalekiej przyszłości. 🙂

Zwieńczając to wszystko, bardzo się cieszę, że postawiłem na Fundament Sparka i Program Mentoringowy RDF – mocny kickstart dla kariery w danych.


A teraz czas na “Słowo od Mentora” 😉

Rafał od samego początku wykazywał OGROMNY zapał, był niezwykle pracowity i metodyczny. Bez tego nawet oferta podana na tacy nic by nie zdziałała;-).

Gratuluję! I… jestem dumny:-).

UWAGA! Jeśli Ciebie również interesuje mentoring…

Po prostu napisz na marek.czuma@riotechdatafactory.com.

Ułożymy razem plan i ruszymy z działaniem.

Akurat pojawiło się kilka wolnych miejsc, więc nie czekaj;-)

W poniższym wideo mówię ciut więcej na temat mentoringu. Jeśli masz pytania – po prostu do mnie napisz.

Pamiętaj! Zawsze jesteś mile widziany/a

Spark: czemu jedna akcja tworzy wiele jobów?

Spark: czemu jedna akcja tworzy wiele jobów?

Zgłębiając kwestie wydajnościowe zauważyłem, że dzieje się coś dziwnego: jedna akcja generuje wiele jobów. Postanowiłem to sprawdzić i opisać tutaj:-). Śmiało, częstuj się. A jeśli artykuł okaże się przydatny – podziel się nim na LinkedIn… czy gdziekolwiek chcesz.

Kawka w dłoń i ruszamy!

Podstawy – jak działa aplikacja sparkowa?

Bardzo często mówiąc o tym, że piszemy w sparku, mówimy “muszę napisać joba sparkowego”, “mój job szedł 30 godzin!” i inne.

Cóż… według nomenklatury sparkowej, nie jest to poprawne. Co gorsza – może być nieco mylące. Okazuje się bowiem, że to co nazywamy “jobem sparkowym” (czyli cały kod który ma coś zrobić i jest uruchamiany przy użyciu sparka) to tak naprawdę “aplikacja” (application). Aplikacja natomiast składa się z… jobów.

Nie mówię, że masz dokonywać rewolucji w swoim słowniku. Sam zresztą też chwalę się ile to nie trwał “mój job”;-). Pamiętaj jednak, że prawdziwe joby siedzą pod spodem aplikacji.

No dobrze – ale czym dokładnie są te joby? I jak jest zbudowana aplikacja sparkowa? Oczywiście to nie miejsce na szkolenie (na listę oczekujących kursu online “Fundament Apache Spark” możesz zapisać się tutaj). Spróbujmy jednak bardzo pokrótce zrozumieć jak zbudowana jest taka aplikacja.

Zróbmy to w kilku krokach:

  1. Podczas pisania kodu posługujemy się dwoma rodzajami: akcjami i transformacjami:
    • transformacje pozwalają nam przetworzyć RDD/Dataset na inny RDD/Dataset. Nie są jednak wykonywane od razu (lazy evaluation)
    • akcje z kolei wykonują wspomniane wcześniej transformacje i tym samym kończą pewną robotę do zrobienia – czyli joba;-).
  2. Job, czyli praca do wykonania. No właśnie – mamy kilka transformacji, które składają się w jeden ciąg operacji dokonywanych na danych. Na końcu są np. zapisane na HDFS albo wyświetlone na ekranie. I to jest właśnie 1 job. Tak więc powiedzmy to sobie wreszcie – 1 akcja = 1 job, yeeeaahh!
  3. Czyli w aplikacji może być kilka jobów. To teraz kolejne zagłębienie. Job składa się ze… stage’y. Czyli z etapów. Jak to się dzieje? Wróćmy do transformacji – bo na tym etapie mamy tylko z transformacjami do czynienia (w końcu akcja kończy joba).
    • Transformacje też możemy podzielić!
    • Narrow Transformations – gdy transformacje z jednej partycji wyprowadzają dokładnie jedną partycję. Narrow Transformations (np. filtry) są dokonywane w pamięci.
      • przykłady: filter, map, union, sample, intersection
    • Wide Transformations – gd transformacje wyprowadzają z jednej partycji wejściowej kilka partycji wyjściowych. Tutaj, ponieważ wide transformations powodują shuffling, dane muszą zostać zapisane na dysk.
      • przykłady: groupBy, join, repartition (te trzy, szczególnie dwa pierwsze, to klasyki – postrachy inżynierów sparkowych)
    • No i właśnie dlatego, że wide transformations powodują shuffling (przemieszanie danych między partycjami/executorami/nodami), musi zakończyć się jakiś etap joba. Czyli stage;-).

I można by kilka rzeczy dodać, ale tyle wystarczy, a nawet może zbyt wiele.

Nie mogłem jednak się powstrzymać. Uff… liczę, że jeszcze ze mną jesteś!

Ale dlaczego jedna akcja tworzy wiele jobów?!

Wspomniałem wyżej, że jednej akcji odpowiada jeden job w aplikacji. Jakie było moje zdziwienie, gdy zobaczyłem co następuje.

Oto mój kod. Przykładowy, ćwiczeniowy, prosty do zrozumienia (zmienna spark to instancja SparkSession):

val behaviorDF: Dataset[Row] = spark.read
  .option("header", "true")
  .csv(pathToBehaviorFile)

behaviorDF.show()
val brandCountDF: Dataset[Row] = behaviorDF.groupBy("brand")
  .count()
  .as("brandCount")

val userIdCount: Dataset[Row] = behaviorDF.groupBy("user_id")
  .count()
  .as("userCount")

val behaviorsWithCounts: Dataset[Row] = behaviorDF.join(brandCountDF, "brand")
  .join(userIdCount, "user_id")

behaviorsWithCounts.show(20)

 

Jak widać mamy dwie akcje:

  1. behaviorDF.show() – linijka 23 (w rzeczywistości)
  2. behaviorsWithCounts.show(20) – linijka 35 (w rzeczywistości).

Czyli z grubsza powinny być 2, może 3 joby (jeśli liczyć także wczytywanie danych).

Co zastałem w Spark UI?

WHAAAT…

Jak to się stało?

Czemu mam… 5 różnych jobów do akcji z linijki 35?

Otóż – mogą być za to odpowiedzialne dwie rzeczy:

  1. DataFrame to abstrakcja zbudowana na RDD. 1 akcja odpowiada 1 jobowi, ale… na RDD. Dataframe czasami “pod spodem” może wykonywać jeszcze inne akcje. JEDNAK TO NIE TO BYŁO MOJE ROZWIĄZANIE. Dotarłem do takiego wyjaśnienia więc się nim dzielę. U mnie natomiast DUŻO WAŻNIEJSZY okazał się pkt 2.
  2. Włączone Adaptive Query Execution – czyli mechanizm optymalizacyjny Apache Spark. Może być włączony albo wyłączony. Od Sparka 3.2.0 AQE włączone jest domyślnie!

Po ustawieniu prostej konfiguracji “spark.sql.adaptive.enabled” na “false”, jak poniżej…

val spark: SparkSession = SparkSession.builder()
  .appName("spark3-rdf-tests")
  .config("spark.sql.adaptive.enabled", false)
  //      .master("local[*]")
  .getOrCreate()

 

… i uruchomieniu aplikacji raz jeszcze, efekt w 100% pokrył się z moją wiedzą teoretyczną.

OMG CO ZA ULGA

UWAGA! Warto pamiętać, że AQE jest z zasady dobrym pomysłem. Nie wyłączaj tego, jeśli nie wiesz dokładnie po co to chcesz robić.

Ja na przykład wyłączam w celach edukacyjnych;-)


Szkolenie z Apache Spark – może tego właśnie potrzebujesz?

Jeśli reprezentujesz firmę i potrzebujecie solidnie przeczołgać się ze Sparka… jesteśmy tu dla Was!

Mamy solidnie sprawdzoną formułę.

I własny klaster, na którym poeksperymentujecie;-)

Więcej informacji na tej stronie.

Możesz też po prostu napisać na: kontakt@riotechdatafactory.com !


Co to jest Adaptive Query Execution?

No to teraz pokrótce: co to jest Adaptive Query Execution?

Przeczytasz o tym w dokumentacji Sparka, o tutaj.

Mówiąc jednak prosto i zwięźle: Adaptive Query Execution to mechanizm zawarty w Spark SQL, który pozwala zoptymalizować pracę aplikacji. AQE dokonuje optymalizacji bazując na “runtime statistics”. Temat samych statystyk będę poszerzał w przyszłości tutaj lub na kanale YouTube. Zapisz się na newsletter, żeby nie przegapić;-). I przy okazji zgarnij jedynego polskiego ebooka wprowadzającego w branżę Big Data (i to kompleksowo!).

AQE ma 3 podstawowe funkcjonalności:

  1. Łączenie partycji po shufflingu – dzięki temu mechanizmowi bardziej wydajnie dobierane są partycje. Widać to m.in. na powyższym przykładzie – gdy porównasz liczby partycji w obu przypadkach.
  2. Dzielenie partycji ze “skośnościami” po shufflingu (data skewness) – spark będzie optymalizował partycje, które podlegają “skośności” (są zbyt duże, co wychodzi dopiero po shufflingu).
  3. Zamiana “sort-merge join” na “broadcast join” – zamienia jeśli statystyki którakolwiek strona joina jest mniejsza niż poziom pozwalający na taką operację.

W praktyce AQE daje zauważalne rezultaty. Widać to dość symbolicznie na mojej małej aplikacji (ładuję tam jedynie 5 gb z hakiem), gdzie wynik z ~5.4 min zszedł do ~5 min.

Minusy? Przede wszystkim mniejsza czytelność podczas monitoringu joba. Co z jednej strony może wydać się śmieszne, ale w rzeczywistości, gdy musimy zoptymalizować jakąś bardzo złożoną aplikację – może zrobić się uciążliwe.

Podsumowanie

Podsumowując:

  1. Od Sparka 3.2.0 domyślnie włączony jest Adaptive Query Execution.
  2. To mechanizm, który pozwala na bardzo konkretną optymalizację. Powoduje niestety pewne “zaszumienie” monitoringu aplikacji.
  3. W efekcie zamiast zasady 1 akcja = 1 job, nasza aplikacja będzie bardziej porozbijana.
  4. Można to wyłączyć (aby nie zachęcać do pójścia “na łatwiznę” – jak to zrobić zostało zawarte w tekście;-)). Nie rób jednak tego bez solidnej argumentacji.
  5. Zapisz się na newsletter i przeczytaj ebooka, który pokaże Ci Big Data z kilku różnych storn. A jak Ci się spodoba, napisz o tym w sieci żeby i inni wiedzieli:-).

Jeśli natomiast szukasz czegoś, co pokaże Ci podstawy Sparka od A do Z… 

Zapisz się na listę oczekujących kolejnej edycji kursu online “Fundament Apache Spark”. “Podobno” niektórzy od tego kursu… zaczęli całą przygodę z branżą;-).

 

Loading
Hadoop i kod (Java API). Krótki poradnik od 0 [wideo] [jesień]

Hadoop i kod (Java API). Krótki poradnik od 0 [wideo] [jesień]

Czas na ostatnie wideo na temat Hadoopa. Pokazuję w nim jak operować na plikach HDFS, wykorzystując Javę. Zapraszam serdecznie!

HDFS i Java API – samo mięso

Ankieta o której mówię jest dostępna pod tym linkiem.

Tutaj pobierzesz maszynę wirtualną, która będzie pomocna przy ćwiczeniach Hadoopa.

Zachęcam do subskrypcji kanału na YouTube!

Dzięki temu nie przegapisz żadnego wideo z serii jesiennej!

Wideo obejrzysz tutaj:

Ankieta o której mówię jest dostępna pod tym linkiem.

 

Przypominam jeszcze, jeśli nie jesteś członkiem newslettera, po zaciągnięciu się na nasz okręt dostajesz na wejściu prawie 140 stron ebooka o Big Data! Nie zwlekaj;-)

 

Loading
Z “wiedzy tajemnej” robimy “wiedzę użyteczną” – czyli jak kursanci oceniają szkolenia Big Data w RDF?

Z “wiedzy tajemnej” robimy “wiedzę użyteczną” – czyli jak kursanci oceniają szkolenia Big Data w RDF?

Niezależnie od samopoczucia, ego i tego co myślimy o sobie sami – końcem końców, najważniejsze jest to, jaki jest obiektywny finał naszej pracy. Jeśli chodzi o szkolenia Big Data, to uważam, że “finał” składa się z dwóch czynników:

  • Co kursanci uważają o szkoleniu
  • Jak kursanci radzą sobie po szkoleniu w “prawdziwym życiu”

Z niektórymi utrzymuję kontakt do dzisiaj. Czasami bliski, czasami bardzo sporadyczny. Ostatnio poprosiłem niektórych z nich, czy mogą podzielić się opiniami na temat szkoleń, które dostali w RDF. Co prawda opinie ciągle spływają, jednak już teraz chcę się podzielić pierwszymi kilkoma.

To tylko niektóre z nich. Całą listę znajdziesz pod tym linkiem.

Przepis na sukces w szkoleniach Big Data? Solidne przygotowanie to podstawa…

“Szkolenie przygotowane i przeprowadzone bardzo sprawnie i profesjonalnie. Doskonałe wyważenie teorii i praktyki co pozwoliło praktycznie natychmiast utrwalić nowo zdobytą, niełatwą, wiedzę. Zadania praktyczne niebanalne {dla początkujących} wymagające nie tylko prostego zastosowania wiedzy teoretycznej, ale także samodzielnego rozwiązywania problemów, co zachęca, po ukończenia zadania, do dalszej pracy nad właśnie rozpoczętym “projektem”. Całość spinają doskonałe przygotowanie środowiska oraz wysoka wiedza i, co nie mniej ważne, znakomita umiejętność jej przekazania przez prowadzącego który z “wiedzy tajemnej” robi “wiedzę użyteczną”. Jedno z najlepszych szkoleń w jakich brałem udział.

Dariusz Zygmunt-Broda
Big Data Engineer

“Zdecydowanie rekomenduję szkolenia z zakresu Big Data prowadzone przez firmę Riotech Data Factory. Prowadzący posiadają duże doświadczenie i obszerną wiedzę, którą w sposób profesjonalny i przystępny przekazują uczestnikom. Podczas przygotowania i realizacji szkoleń kadra wykazała się profesjonalizmem zarówno, jeśli chodzi o zakres merytoryczny, przystępność przekazywanej wiedzy, jak i jakość dostarczonych materiałów.

Piotr Lipiński
Big Data Engineer

…ale pasja i zaangażowanie jest niemniej ważne;-)

“Miałem okazję uczestniczyć w kilkudniowych warsztatach poświęconych oprogramowaniu Apache Spark prowadzonych przez Marka. Jego ogromna wiedza i pasja pozwoliły mi lepiej poznać świat technologii Big Data. Marek w przystępny sposób opowiedział, na czym polega rozproszone przetwarzanie danych, a następnie – jak działa i do czego służy Spark. Solidne podstawy teoretyczne posłużyły jako punkt wyjścia do zmierzenia się z zadaniami praktycznymi o różnym poziomie zaawansowania. Część zadań wykonywana była lokalnie, a część na klastrze obliczeniowym w chmurze. Na zajęciach znalazł się czas zarówno na pracę indywidualną, jak i wspólne rozwiązywanie problemów. Marek cały czas służył radą i z dużym zaangażowaniem odpowiadał na wszystkie nurtujące mnie pytania. Warsztaty były fascynujące i co najważniejsze pozwoliły mi na rozpoczęcie samodzielnej pracy ze Sparkiem.”
Wojtek Kazanecki
Big Data Engineer
“Kilka miesięcy temu brałam udział w szkoleniu na temat Big Data wraz z Markiem jako prowadzącym szkolenie. Był to intensywny, ale dobrze wykorzystany czas, który przygotował mnie do pracy w roli Big Data Developera. W trakcie szkolenie położony jest nacisk nie tylko na wiedze teoretyczna, ale także na część praktyczna, dzięki czemu przyswajanie wiedzy jest szybsze i skuteczniejsze. Sam Marek jest świetnym nauczycielem i prowadzącym — ciekawie opowiada o temacie, ma wiedzę, a także potrafi ją w efektywny sposób przekazać. Właściwy człowiek na właściwym miejscu :)!
Justyna Replin
Big Data Engineer

Dołącz do naszej społeczności!

Zdobywanie wiedzy nie musi być nudne. Wręcz przeciwnie – z natury jest fascynujące! Jeśli masz podobne zdanie i chcesz poznawać Big Data, czas najwyższy zapisać się do newsletera RDF. Na start dostaniesz… prawie 140 stron wiedzy w postaci ebooka.

Z pewnością spodoba Ci się także podcast “Big Data Po Polsku”, w którym uczę się świata przez pryzmat danych.

Na koniec – zachęcam do zajrzenia na kanał YouTube. Znajdziesz tam treści i techniczne i biznesowe!

 

Loading