Big Data Analytics - od czego zacząć?

Gwałtowny rozwój technologii do składowania, przetwarzania i analizy dużych wolumenów danych w połączeniu z rosnącym zainteresowaniem decydentów zaawansowaną analityką to trend, który z pewnością pozytywnie wpłynie na sprawność biznesową wielu organizacji.

W ostatnim czasie wiele powiedziano o szerokich perspektywach i oczekiwaniach wobec analitycznych produktów big data – wystarczy wspomnieć o wynikach badań rynkowych przeprowadzonych w segmencie dużych przedsiębiorstw: 53 proc. respondentów przetwarza i analizuje mniej niż połowę wartościowych danych, 24 proc. uważa, że ogromne wolumeny danych nie są w ich organizacji w ogóle wykorzystywane, a 89 proc. jest przekonanych, że big data zmieni działanie biznesu w tak dużym stopniu, jak zmienił je Internet.

Wydajna platforma to nie wszystko

Obserwując, jak wiele organizacji próbuje chwalić się sukcesami wdrożeń big data, można zaryzykować stwierdzenie, że tego typu rozwiązania na stałe wkomponowały się w krajobraz systemów informatycznych współczesnego biznesu. Jednak w tym pozornie nieskazitelnym obrazie pojawiają się już małe pęknięcia. Jednym z nich jest przesunięcie big data do segmentu Trough of Disillusionment („Koryto rozczarowania”) w dorocznej klasyfikacji Gartner „Hype Cycle for Emerging Technologies, 2014”, opisującej cykl życia najważniejszych współczesnych technologii. Przypisanie do tego segmentu oznacza, że zainteresowanie rynku technologią powoli zaczyna słabnąć w wyniku nieudanych eksperymentów czy wdrożeń pilotażowych. Skąd ten dysonans? Ciekawą odpowiedź na to pytanie ponownie przynoszą badania rynkowe globalnych firm doradczych, które wyraźnie wskazują, że wśród firm chwalących się wdrożeniami big data definicja tego pojęcia jest bardzo niejednoznaczna. W opublikowanym ostatnio przez Accenture raporcie „Big Success with Big Data” pierwszym wskazywanym zastosowaniem jest przetwarzanie dużych wolumenów danych, a dopiero potem zaawansowana analityka czy wizualna eksploracja danych, a więc te dziedziny, które w znacznie większym stopniu mogą kształtować zmiany w biznesie. Znacząca część spośród zrealizowanych projektów big data to przede wszystkim inicjatywy technologiczne czy optymalizujące wydajność systemów informatycznych. Czy jednak sama technologia jest w stanie „zamienić dane w złoto”? Wydaje się, że zbyt duża wiara w jej samosprawczą moc, połączona z brakiem odpowiednich inwestycji w kapitał ludzki i kulturę analityczną, to gotowy przepis na rozczarowanie biznesowych decydentów, którzy rozpoczynają przygodę z big data. Jak go uniknąć?

„Definiuj i analizuj” to nowe „dziel i rządź”

Postrzeganie platform do przetwarzania i analizy danych jako biznesowe perpetuum mobile lub po prostu wielki kontener na dane to tylko „tworzenie niepotrzebnych kosztów” – jak podkreślał na ostatniej konferencji „SAS Forum 2014” Bartosz Dobrzyński, CMO z Play. Z naszych wieloletnich doświadczeń wynika, że czynnikiem krytycznym dla powodzenia projektów analitycznych jest dobrze zdefiniowane zagadnienie biznesowe i określenie wstępnych hipotez, które w jego kontekście należy zbadać. Takie podejście, połączone z odpowiednimi narzędziami i pomysłem na wdrożenie biznesowe to niemal gwarancja sukcesu projektów analitycznych, niezależnie, czy mowa o big czy small data. Pokazują to liczne przykłady wdrożeń zrealizowanych przez SAS z klientami z różnych branż: od optymalizacji procesów logistycznych w oparciu o precyzyjne prognozowanie popytu, przez spersonalizowany marketing w czasie rzeczywistym wspierany analizą sekwencji, po wykrywanie nadużyć w czasie rzeczywistym za pomocą modeli predykcyjnych. Niezależnie od rynku, branży czy szczegółowości posiadanych danych, zaawansowana analityka nie jest już postrzegana jako opcjonalny dodatek, ale jako kluczowy czynnik pozwalający uzyskać przewagę nad konkurencją. Warto wykorzystać te doświadczenia i efektywnie rozpocząć analityczną transformację swojej organizacji.

Artykuł opublikowany w magazynie Manager.

Praca jako Big Data Engineer. Jak pracować w najbardziej pożądanej branży?

Big Data Engineer wydaje się być teraz jednym z najbardziej poszukiwanych specjalizacji wśród osób z sektora IT. Trudno się temu dziwić, ponieważ to oni odpowiadają za przygotowanie całego "rurociągu" danych (z ang. data pipeline) oraz ich przygotowaniem, a czasami również analizą. Jak można zostać jednym z inżynierów danych?

Inżynier danych - świetna ścieżka

Warto zacząć od tego, czym właściwie zajmuje się inżynier danych. Cały proces, którym się opiekuje, można określić następującymi etapami: zebraniem, przeniesieniem i przechowywaniem, przygotowaniem do dalszej obróbki oraz wstępną analizą. W świecie, w którym to dane pełnią główną rolę, jest to kluczowy zawód. Obecnie trudno by było mówić o jakiejkolwiek sztucznej inteligencji bez wszystkich potrzebnych danych, a do tego wszystkiego to Data Engineerowie odpowiadają za tworzenie kluczowych rurociągów danych. Nic zatem dziwnego, że aktualnie specjaliści z tej dziedziny są pożądani i wysoko opłacani.

Sam sektor Big Data jest stosunkowo młody i liczy sobie nieco ponad dziesięć lat, choć naturalnie wcześniej również pracowano z danymi. Popularyzacja Hadoopa, pojawienie się chmury publicznej oraz dynamiczny rozwój wielu rozwiązań open-source do takich zadań jak, m.in. Apache Spark, Apache Flink czy Apache Kafka, miały wpływ na rozwój tej kategorii. Wciąż zresztą ten rynek dynamicznie się zmienia i zdecydowanie nie można narzekać na nudę.

Jeżeli chodzi o perspektywy zatrudnienia w konkretnych branżach, to tu nie ma żadnych ograniczeń. Aktualnie każda firma chce lepiej rozumieć swoje dane, a co za tym idzie, dbają o to, aby wewnątrz organizacji powstał odpowiedni łańcuch, który zapewni odpowiedzi na interesujące ich pytania. W ten sposób tworzone mogą być bardziej dopasowane do klientów oferty czy lepiej przygotowane oferty, a do tego można zdecydowanie skuteczniej zbierać dane ze wszystkich potrzebnych źródeł.

Javovy świat

Nie da się ukryć, że w świecie Big Data kluczowa jest znajomość przynajmniej jednego języka programowania. Można tu wspomnieć o tych królujących w segmencie inżynierii danych: Javie i Scali; choć również osoby od Pythona będą mogły liczyć na zatrudnienie w tej branży. Trzeba zresztą dodać, że bez wiedzy o Javie i jej pochodnych trudno będzie analizować wiele serwisów, ponieważ najczęściej są one napisane w Javie lub Scali. To zdecydowanie pomaga w pracy.

Do tego dochodzi konieczność znajomość składni języka SQL. Warto też napisać o zrozumienie baz danych NoSQL oraz umiejętność nieszablonowego myślenia, ponieważ często będzie można natknąć się na zupełnie nowe problemy do rozwiązania.

Wywiad z inżynierami danych

Przeprowadziłem wywiad z dwójką inżynierów danych ze sporym doświadczeniem i ogromną wiedzą, którzy na co dzień pracują w firmie Getindata: Grzegorzem Kołakowskim i Piotrem Pękałą.

Jak opisałbyś/opisałabyś swoje codzienne obowiązki?

Piotr Pękała: Moje codzienne obowiązki są bardzo zróżnicowane. Jednego dnia jestem Software Engineerem, innego DevOpsem a jeszcze innego Data Analystem. Wszystko zależy od projektu oraz potrzeb w danym momencie.

Grzegorz Kołakowski: Bardzo różne :) PoC nowych technologii i pomysłów, wdrażanie nowych rozwiązań, optymalizacja i debugowanie istniejących procesów.

Jakie umiejętności techniczne są kluczowe, aby zostać Big Data Engineerem?

PP: Jestem zdania, że wszystkiego można się nauczyć i jeżeli ktoś bardzo chce zostać Engineerem (nie tylko w Big Data) to może się tego nauczyć. Pytanie tylko czy będzie wystarczająco wytrwały w osiągnięciu celu. Natomiast myślę ze, takie rozsądne minimum, które umożliwia w miarę komfortowy rozwój to podstawowa wiedza informatyczna oraz umiejętność programowania.

GK: Ciężko powiedzieć. Warto być po prostu solidnym, wszechstronnym programistą z wyrobionymi dobrymi praktykami, a nauka Big Daty przyjdzie łatwiej. Jeśli mam już coś wymienić to:

Warto rozumieć podstawy distributed programming.

Przydaje się dobra znajomość Javy, gdy trzeba zajrzeć w kod narzędzi, zrozumieć jego działanie i ewentualnie łatać.

Znajomość SQL-a.

Jakie umiejętności miękkie są przydatne w roli Big Data Engineera?

PP: Myślę, ze tak jak w każdej dziedzinie informatyki jest to logiczne myślenie oraz chęć ciągłego podnoszenia kwalifikacji. W Big Data możliwe, ze przyda się również większy upór w dążeniu do celu. Jako młoda dziedzina posiada nadal wiele problemów wieku dziecięcego, które wymagają sporej cierpliwości.

GK: Nie wiem czy Big Data Engineer różni się w tym względzie od podobnych stanowisk developerskich. Umiejętność pracy w zespole i komunikatywność niezbędna do pracy z klientem.

Co spowodowało, że postanowiłeś zostać Big Data Engineerem?

PP: Chęć dalszego rozwoju i poszerzania horyzontów. Mój background to mikroserwisy oraz zamiłowanie do systemów rozproszonych. Czułem że Big Data jest pewnym niezdobytym przeze mnie obszarem, który może dać inne spojrzenie.

GK: Przypadek :)

Jak oceniasz perspektywy rozwoju?

PP: Big Data jest stosunkowo młodą dziedziną i zarazem rozwijającą się bardzo dynamicznie. Z drugiej strony świat jest zalewany informacjami, które odpowiednio przetwarzane mogą być bardzo cenne. Myślę, ze jest to zarazem ciekawy jak i niemal nieskończony (na ten moment) kierunek rozwoju.

GK: Bardzo dobrze :)

Z jakimi technologiami głównie pracujesz?

PP: Kafka, Spark, Hadoop, Hive, GCP, JVM, Python, Airflow, Kubernetes.

GK: Nifi, Kafka, Hadoop, Hive, Flink, Beam, Debezium.

Co polecasz do nauki i treningu osobom, które chcą zostać Big Data Engineerem?

PP: Zawsze uważam, ze najlepiej uczyć się sposobów rozwiązywania problemów, co daje w dalszej kolejności lepsze zrozumienie jak działają różne technologie i wykorzystywane narzędzia. Jako, ze dziedzina Big Data jest dość rozległa, trudno jednoznacznie określić czym warto zając się na początku. Na pewno zrozumienie zasady działania Map Reduce oraz poznanie jak jest to zaimplementowane na przykładzie np. Sparka daje inne spojrzenie na przetwarzanie informacji.

GK: Czytać tematyczne blogi i listy mailingowe (na przykład Data Eng Weekly). Wiadomo - najwięcej uczymy się pracując z danymi technologiami.

Jakie są największe zalety pracy jako Big Data Engineer?

PP: Świat „wielkich danych” jest znacząco odmienny od „standardowego” tworzenia oprogramowania, co daje możliwość rozwiązywania ciekawych problemów z którymi nie spotkamy się nigdzie indziej. Można się tutaj spotkać z mocno odmiennymi podejściami co znacząco poszerza horyzonty.

GK: Młody dynamiczny zespół ;) Mnogość problemów i narzędzi do ich rozwiązywania.

Jesteś zainteresowana/y pracą w świecie Big Data? Śledź oferty pracy w Getindata albo wyślij CV na

Kluczowa osoba w zespole

Stopniowo każdy z nas wytwarza coraz więcej danych. To wszystko powinno zostać odpowiednio przetworzone i przeanalizowane, aby móc zapewniać wyższą jakość usług czy lepiej dopasowane oferty. Niewątpliwie to interesująca dziedzina, w której nie można liczyć na nudę. Moim zdaniem to ciekawy kierunek rozwoju dla każdej osoby odnajdującej się w informacjach i programowaniu.

Dowiedz się więcej o zawodach IT

Wykorzystanie Big Data w biznesie

Ostatnie lata w technologiach przechowywania i analizy danych to przede wszystkim obsługa informacji wygenerowanych przez sensory internetu rzeczy czy też przenośne urządzenia oraz ich scalanie źródeł.

W praktycznie każdym obszarze ludzkiej aktywności generuje się coraz większe wolumeny danych. Przykładowo, miliony smartfonów i dziesiątki zainstalowanych na każdym z nich aplikacji wytwarzają olbrzymią ilość informacji, które znajdują praktyczne zastosowanie m.in. dla reklamodawców.

Jako odpowiedź na wzrastającą ilości danych oraz rosnące oczekiwania co do zmniejszania czasu operacji na nich, powstały rozwiązania oparte o platformę Hadoop.

Na popularności zyskały też różnego rodzaju bazy danych wspierające indeksowanie i szybsze wyszukiwanie tekstów, wyszukiwanie zależności pomiędzy encjami – bazy danych dokumentowe dobrze radzące sobie z danymi nie strukturalnymi czy też grafowe bazy danych które wspierają analizę grafów.

Wymienione technologie wykorzystuje się już skutecznie w wielu branżach. Należą do nich m.in.: