Filip Cyprowski 2014-06-23



Podobne dokumenty
Od Expert Data Scientist do Citizen Data Scientist, czyli jak w praktyce korzystać z zaawansowanej analizy danych

Analityka danych w środowisku Hadoop. Piotr Czarnas, 27 czerwca 2017

Analityka danych w środowisku Hadoop. Piotr Czarnas, 5 czerwca 2017

DOKUMENT INFORMACYJNY COMARCH BUSINESS INTELLIGENCE:

HURTOWNIE DANYCH I BUSINESS INTELLIGENCE

Wprowadzenie do Hurtowni Danych

Szkolenia SAS Cennik i kalendarz 2017

Generacja Y o mediach społecznościowych w miejscu pracy

Rola analityki danych w transformacji cyfrowej firmy

Strona 1 z 7

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Usługi analityczne budowa kostki analitycznej Część pierwsza.

Poznaj swojego klienta Stwórz AVATAR

2016 CONSULTING DLA MŚP. Badanie zapotrzebowania na usługi doradcze

Oprogramowanie, usługi i infrastruktura ICT w małych i średnich firmach w Polsce Na podstawie badania 800 firm z sektora MŚP

Rozmowa ze sklepem przez telefon

Organizacyjnie. Prowadzący: dr Mariusz Rafało (hasło: BIG)

Hurtownie danych wykład 5

Hadoop i Spark. Mariusz Rafało

Przetwarzanie danych z wykorzystaniem technologii NoSQL na przykładzie serwisu Serp24

Spectrum Spatial. Dla systemów BI (Business Intelligence)

Nasz klient, nasz Pan?

Workplace by Facebook. Twoja bezpieczna, firmowa sieć społecznościowa

Projektowanie rozwiązań Big Data z wykorzystaniem Apache Hadoop & Family

9 elementów zarządzania projektami Narzędzia Nowoczesnego Project Managera

PODSTAWY BAZ DANYCH. 19. Perspektywy baz danych. 2009/2010 Notatki do wykładu "Podstawy baz danych"

Architecture Best Practices for Big Data Deployments

System udostępniania danych W1000

HumanWork - Produkt, który spełnia Twoje oczekiwania

trendów, które zmieniają IT (technologię informatyczną)

Analityka danych & big data

AKADEMIA DLA MŁODYCH PRZEWODNIK TRENERA. PRACA ŻYCIE UMIEJĘTNOŚCI

użytkownika 1 Jak wybrać temat pracy 2 Spis treści 3 Część pierwsza problematyka 4 Część druga stosowane metody 5 Część trzecia propozycja rozwiązania

Analityka internetowa w Polsce A.D Trendy i prognozy na najbliższe miesiące wybrane przez ekspertów Bluerank

STUDIA PODYPLOMOWE. Analiza i Eksploracja Danych Rynkowych i Marketingowych. Podstawa prawna

Czym się kierować przy wyborze systemu ERP? poradnik

World Wide Web? rkijanka

Jak działa Brandle? Narzędzie online do organizacji i sprawdzania efektów marketingu dyskusji w internecie

Firmowe media społecznościowe dla pracowników

Wdrożenie infrastruktury Cisco Spark w kancelarii DGP w Krakowie

Narzędzia IT we współczesnych strategiach utrzymaniowych

Fabryka i3 Machine Learning w analizie ryzyka kredytowego

Co zyskujesz tworząc serwis www w Spark Media?

Informatyczne fundamenty

CO MOZ NA WYCISNA C Z SAMOOBSŁUGI CZYLI SPRZEDAZ W KANAŁACH SELF CARE? Bartosz Szkudlarek

Dwie szkoły oceny 360 stopni. Sprawdź różnicę pomiędzy klasycznym a nowoczesnym podejściem

Specjalizacja magisterska Bazy danych

NALITYKA IZNESOWA WYDZIAŁ ORGANIZACJI I ZARZĄDZANIA POLITECHNIKA ŚLĄSKA NOWY KIERUNEK STUDIÓW.

SPIS TREŚCI. Do Czytelnika... 7

VENDIO SPRZEDAŻ kompleksowa obsługa sprzedaży. dcs.pl Sp. z o.o. vendio.dcs.pl info@dcs.pl Warszawa,

Odkryj w danych to, co najważniejsze

Asseco HOME: obniżenie kosztów operacyjnych telekomów dzięki rozwiązaniu Big Data.

to agencja specjalizująca się w kompleksowej obsłudze marek w mediach społecznościowych. Dzięki specjalistycznemu know-how, dopasowaniu oferty do

Dopasowanie IT/biznes

7 rzeczy. które musisz robić w Marketingu Internetowym

Informacja o firmie i oferowanych rozwiązaniach

Eniro wyciąga lepsze wnioski i podejmuje bardziej świadome decyzje. dzięki Google Analytics 360, Google Tag Manager i BigQuery

Dopasowanie IT/biznes

ALGORYTMICZNA I STATYSTYCZNA ANALIZA DANYCH

OpenAI Gym. Adam Szczepaniak, Kamil Walkowiak

STUDIA PODYPLOMOWE. Analiza i Eksploracja Danych Rynkowych i Marketingowych. Podstawa prawna

Ekspansja zagraniczna e-usług Olsztyn, 08 listopada Radosław Mazur

Nowa strona internetowa Twojej Firmy w 3 dni!

Rynek przetwarzania danych w chmurze w Polsce Prognozy rozwoju na lata

Procesowa specyfikacja systemów IT

Hbase, Hive i BigSQL

YOUR SOFTWARE CHALLENGE IS OUR MISSION. Case Study

Trendy BI z perspektywy. marketingu internetowego

Tematy prac dyplomowych inżynierskich

DESIGN THINKING. Peter Drucker. Nie ma nic bardziej nieefektywnego niż robienie efektywnie czegoś, co nie powinno być robione wcale.

Organizacyjnie. Prowadzący: dr Mariusz Rafało (hasło: BIG)

Idealna strona internetowa dla Twojej firmy

omnia.pl, ul. Kraszewskiego 62A, Jarosław, tel

dr inż. Paweł Morawski Informatyczne wsparcie decyzji logistycznych semestr letni 2016/2017

Rozwiązania SCM i Portal dla handlu i przemysłu

Deduplikacja danych. Zarządzanie jakością danych podstawowych

Informacje i materiały dotyczące wykładu będą publikowane na stronie internetowej wykładowcy, m.in. prezentacje z wykładów

Jazda autonomiczna Delphi zgodna z zasadami sztucznej inteligencji

2

Wprowadzenie do Apache Spark. Jakub Toczek

Hurtownie danych i business intelligence. Plan na dziś : Wprowadzenie do przedmiotu

Sposoby prezentacji problemów w statystyce

Instytut Informatyki Politechniki Warszawskiej

Włącz autopilota w zabezpieczeniach IT

Oprogramowanie, usługi i infrastruktura ICT w dużych firmach w Polsce Na podstawie badania 420 firm

D&B Data Manager. Proces zarządzania Twoimi danymi na jednej platformie internetowej

Ogólna informacja. O firmie e-direct sp. z o.o. Marcin Marchewicz

Rynek prywatnej opieki zdrowotnej w Polsce Prognozy rozwoju na lata

Poz. 15 UCHWAŁA NR 15 RADY WYDZIAŁU NAUK EKONOMICZNYCH UW. z dnia 1 marca 2017 roku. w sprawie

SZKOLENIA SAS. ONKO.SYS Kompleksowa infrastruktura inforamtyczna dla badań nad nowotworami CENTRUM ONKOLOGII INSTYTUT im. Marii Skłodowskiej Curie

Outsourcing usług logistycznych komu się to opłaca?

Idealny start

Maksymalne zaangażowanie uwagi klienta

VIRTUAL ASSISTANT. Oferta Wirtualnej Asystentki.

Rynek IT w Polsce Prognozy rozwoju na lata

Prezentacja specjalności studiów II stopnia. Inteligentne Technologie Internetowe

1 Wprowadzenie do koncepcji Microsoft Office BI 1 Zakres ksiąŝki 2 Cel ksiąŝki 3 Wprowadzenie do tematu 3 Zawartość rozdziałów 4

LOG Global Edition jak wykorzystać potencjał firmy.

Nowoczesne narzędzia w relacjach z klientami

Transkrypt:

Big Data. Minipodręcznik dla laików Filip Cyprowski 2014-06-23

Spis treści Co to jest Big Data?... 3 Kto korzysta z Big Data?... 6 Big Words kluczowe pojęcia dla Big Data... 7 Data science... 7 Data mining... 8 Machine learning... 9 MapReduce... 10 Hadoop... 13 Narzędzia do analizy Big Data... 14 Big data w małej firmie... 15 Czy naprawdę musisz?... 15 Nowe możliwości... 16 Rozwój technik analitycznych... 16 Rozwój infrastruktury analitycznej... 16 Rewolucja Open Source... 17 Zamiast podsumowania jak zwiększyć efektywność firmy dzięki Big Data?... 18 Co my możemy zaproponować?... 19 2

Co to jest Big Data? Dużo danych? Wielkie dane? Wszyscy o tym słyszymy, ale właściwie nie wiemy o czym naprawdę mowa i przede wszystkim jakie znaczenie ma dla nas niekoniecznie szefów Facebooka, Google i wielkich projektów naukowych jak Herschel Space Observatory? Big Data to przede wszystkim analizy i sposoby przetwarzania danych. Krótko mówiąc w kontekście biznesowym jest to nowy sposób na wyciągnięcie z rozmaitych danych (internetowych, wewnętrznych - np. z maszyn produkcyjnych) wiedzy, która przyczyni się do poprawy funkcjonowania firmy. Z reguły zresztą chodzi o zmianę rewolucyjną, wzbicie firmy na wyższy poziom efektywności. Dlaczego jednak uznajemy, że jest to nowy sposób? W końcu analizy w firmach prowadzone są z różnym natężeniem od dawna. Big Data definiuje się najczęściej poprzez trzy warunki (tzw. 3V 1 ). Mówimy więc, że data jest big, gdy: Danych jest dużo ( Volume ) niestety brakuje odpowiedzi na pytanie, od jakiej ilości danych stwierdza się, że tak jest. Kilka gigabajtów? Terabajt? Kilka terabajtów? Kwestia ta jest, jak się okazuje, dość subiektywna. Wrócimy do tego. Dane szybko wchodzą i wychodzą ( Velocity ) czyli analizy tworzone są często w czasie rzeczywistym, są silnie zautomatyzowane (np. bez interakcji z człowiekiem pobierają niezbędne dane, przetwarzają je itd.) oraz ilość danych stale się powiększa. Dane są zróżnicowane ( Variety ) mają różne formaty (np. teksty, zdjęcia, filmy, dokumenty) i często są nieustrukturyzowane. Oznacza to, że aplikacje i programy Big Data muszą być zdolne do ich przetwarzania i strukturyzowania. Co to oznacza? Wyjaśnimy w dalszych częściach mini-ebooka. 1 Czytelnik może spotkać się również z definicją 4V, ale ów dodatkowy komponent ( Value czyli fakt, iż z danych można wyciągnąć informację) jest stricte biznesowy i subiektywny. Analiza bezużytecznych danych to w kwestach technicznych to samo, co analiza danych użytecznych. 3

Załóżmy więc teraz trzy autentyczne przypadki analiz i zastanówmy się, czy można je określić jako Big Data: Przypadek 1. Mamy 3GB danych dotyczących produkcji (liczba wyprodukowanych towarów w danej godzinie). Dział analityków na bieżąco prowadzi analizy prognostyczne w celu uzyskania jak największej wydajności produkcji. Przypadek 2. Specjalna aplikacja ściąga z portali społecznościowych wypowiedzi klientów na temat Twojej marki, a następnie analitycy czerpią z nich informacje o satysfakcji klientów. (załóżmy, że dziennie napływa ok. 100 wypowiedzi). Przypadek 3. Firmowa aplikacja zbiera dane z czujników sensorycznych w maszynach i na bieżąco podaje niezbędne statystyki. Dane senoryczne przyrastają z dużą prędkością (np. 1GB na dzień). Przypadek 1 nie spełnia żadnego warunku Big Data danych jest właściwie mało (choć już mogą się nie mieścić w arkuszu Excela), zaś analizy prowadzone są przede wszystkim przez analityków. To oni kierują zapytania do bazy danych, oni generują raporty. Przypadek 2 nie spełnia wszystkich wymagań Big Data, choć ma pewne wymagane cechy. Dane nie są silnie ustrukturyzowane ( Variety ), a ich zdobywaniem i przetwarzaniem zajmuje się specjalna aplikacja ( Velocity ). Żeby wydobyć z danych wiedzę konieczna jest co prawda praca analityków, ale wciąż duża część przetwarzania odbywa się automatycznie. Problemem jest jednak niewielka ilość danych. Przypadek 3 spełnia wszystkie wymagania Big Data. Dane przetwarzane są automatycznie ( Velocity ), są nieustrukturyzowane ( Variety zanim będzie je można zamknąć w tabeli trzeba je pociąć, posortować itd.) oraz jest ich dużo i stale przyrastają ( Volume ). 4

Warto jednak się zastanowić, czy w kwestii analizy i potencjalnych korzyści z tych wszystkich przypadków różnią się one tak bardzo i czy różnica ta jest istotna dla menadżerów i właścicieli przedsiębiorstw? Ważne informacje można wydobyć zarówno z klasycznego Business Inteligence (Przypadek 1) jak i klasycznego Big Data (Przypadek 3). Przypadek 2 to zaś ani Business Inteligence 2 ani Big Data, natomiast doświadczenie podpowiada nam, że taki system to nieocenione źródło wiedzy. W dodatku pod względem analitycznym niewiele różni się od Przypadku 3. Jeśli pójdziemy dalej w tych rozważaniach, to okaże się, że nie tylko nie potrafimy już dokładnie zdefiniować, czym jest Big Data, ale również Business Intelligence. Z powodu tych nieścisłości proponuję traktować Big Data szerzej, jako każdy zbiór danych, który jest trudny w utrzymaniu, a wyciągnięcie z niego wiedzy wymaga zastosowania skomplikowanych procedur przetwarzania i analizy. W pewnym stopniu odpowiada to definicji Michaela Franklina z University of California: "Big Data is any data that is expensive 3 extract value from" to manage and hard to Dodatkowo, ponieważ zajmujemy się przede wszystkim wykorzystaniem technologii Big Data w firmach, które niekoniecznie mają problem z petabajtami danych, uznajmy, że Big Data będziemy postrzegać przez pryzmat Data Science (o tym w kolejnych rozdziałach). Tam gdzie dane są nieustrukturyzowane, zróżnicowane i rozsiane, nie mieszczą się w tabelach Excela i wymagają zastosowania skomplikowanych technik analizy tam mamy do czynienia z czymś co bardzo przypomina Big Data. Przynajmniej pod względem analitycznym i tego, jaką wartość można uzyskać z danych. 2 Oczywiście można się spierać niemniej wydaje się, że text mining rzadko pojawia się w kontekście business intelligence. Niesłusznie zresztą, jeśli mnie o to pytacie. 3 Wyrażenie drogie zastąpiono trudnym głównie z tego powodu, że w ostatnich czasach magazynowanie danych za sprawą rozwoju cloud computing stało się dużo tańsze. Z drugiej strony wciąż wielkości rzędu PB mogą znacząco uszczuplać budżet przedsiębiorstwa. Mało która firma jednak rzeczywiście potrzebuje aż tak pojemnych serwerów. 5

Kto korzysta z Big Data? Wszyscy. Dosłownie wszyscy. Big Data wykorzystałeś, żeby ściągnąć tego ebooka. Jeśli korzystasz z Twittera, Google, czy Facebooka to znaczy, że wykorzystujesz Big Data. Jeśli śledzisz ruch na stronie przez Google Analytics to wykorzystujesz już Big Data Analytics. Wciąż rośnie rynek aplikacji, które opierają się na technologiach związanych z BD i oferują firmom i prywatnym użytkownikom różnego rodzaju usługi. Wiadomo jednak, że nie o takim wykorzystaniu Big Data tutaj mówimy. Dla wielu dużych przedsiębiorstw Big Data oznacza problem ich bazy danych rosną bardzo szybko i coraz trudniej wyciągnąć z nich informacje (obliczenia trwają zbyt długo, brakuje miejsca na magazynowanie danych). Dlatego konieczne są w nich małe rewolucje takie jak wymiana systemu i technik analitycznych. Ponadto przejście na bardziej sprawne systemy zarządzania wiedzą otwiera dla firm nowe możliwości. Możemy analizować dane sensoryczne, logi, możemy projektować aplikacje zbierające dane z serwisów internetowych i na bieżąco je analizujące. Wyobraź sobie tylko możliwość stałego monitorowania danych na temat sprzedaży na Allegro, Ebayu, czy AliBaba. Zresztą Big Data to nie tylko analiza sensu stricto. To również złożone systemy rekomendacyjne, czy systemy polepszające workflow w przedsiębiorstwach. Tak naprawdę w kwestii tego, jak można wykorzystać dane ogranicza nas już wyłącznie wyobraźnia (i niekiedy pieniądze). Pozostaje oczywiście pytanie, czy Ty czytelnik tego e-booka naprawdę potrzebujesz Big Data. A jeśli nie, to czy zwiększając wiedzę na ten temat możesz osiągnąć jakieś korzyści? Zdecydowanie tak. Nawet jeśli nie potrzebujesz takich rozwiązań jak Facebook, Google, Amazon i inne wielkie firmy, z pewnością potrzebujesz analityki. Z Big Data jest trochę jak z lotami w kosmos. W statku kosmicznym znajdzie się kilku astronautów, ale zwykły człowiek dostanie przynajmniej patelnię teflonową. 6

Big Words kluczowe pojęcia dla Big Data Odkąd Big Data stało się popularne w USA dociera do nas coraz więcej tzw. buzzwords, modnych terminów, które rzekomo mają zrewolucjonizować funkcjonowanie przedsiębiorstw. Oczywiście, jak to zwykle bywa ze świeżymi koncepcjami, szybko okazuje się, że nie są one aż tak rewolucyjne. Choć zwykle w określonych warunkach naprawdę mogą przyczynić się do polepszenia sytuacji przedsiębiorstwa. Np. popularne jeszcze niedawno TQM/Kaizen spotkało się zarówno z falą entuzjazmu jak i krytyki. Niekiedy rewolucjonizowało firmy, a niekiedy kompletnie nie było im potrzebne. Ale do rzeczy. Jakie pojęcia wiążą się z Big Data? Data science Gdybyśmy bardzo chcieli, moglibyśmy zrównać termin data science po prostu ze statystyką. W pewnym sensie bowiem, każdy data scientist musi być statystykiem lub powinien znać podstawy wnioskowania statystycznego 4. Jednak nie każdy statystyk może poszczycić się tym tytułem. Dlaczego? Cóż, osoba zajmująca się data science nie jest jedynie analitykiem danych. Jej zadanie nie ogranicza się wyłącznie do wyciągnięcia wniosków ze skoroszytu Excela lub bazy SQL. Ona te bazy również sama tworzy. Tym samym do jej obowiązków należy: Kreatywne myślenie nad możliwością przełożenia rozproszonych i nieoczywistych danych na dane możliwe do analizy (i mające potencjał rozwojowy dla przedsiębiorstwa lub instytucji), Przetwarzanie danych i przygotowywanie ich do analizy (z pomocą specjalistycznych programów i języków programowania Python, R, Java etc.), Tworzenie całych systemów bazodanowych, rekomendacyjnych, analitycznych etc., Wreszcie analiza. Zwykle chodzi jednak nie o statystykę opisową, ale stosowanie skomplikowanych algorytmów do analizy klastrów, prognozowania etc.. 4 Prawdę mówiąc dużo więcej niż podstawy. 7

Czy potrzebujesz w swojej firmie data science? Jeśli Twoja firma prowadzi choćby profil na facebooku jak najbardziej. Jeśli prowadzisz biznes e-commerce jest to konieczność. Data mining To słowo pojawiało się już w setkach odmian. Sam byłem jednym z tych ludzi, którzy niekiedy całkiem świadomie używali go w nieco innych znaczeniach niż przyjęte. Wynika to z faktu, że słowo mining może być nieco mylące, sugeruje bowiem, że w jakiś sposób wydobywamy skądś dane, a tymczasem chodzi nam o informację. Z gąszczu danych wydobywamy informację. W ostatnich latach data mining jako czynność łącząca takie dziedziny nauki jak statystyka, programowanie i sztuczna inteligencja stała się szczególnie popularna wśród programistów, którzy jednak rzadko rzeczywiście wiedzą o co w niej chodzi. Data mining to przede wszystkim zbiór technik analitycznych, które pozwalają na badanie zależności w dużych zbiorach danych. Jak wygląda to krok po kroku? Spójrzcie na schemat: Wstępna eksploracja Dopasowanie modelu i jego weryfikacja Stosowanie modelu do analizy nowych, podobnych danych Wstępna eksploracja polega na odkryciu pewnych własności danych oraz na niezbędnym ich przekształceniu. Np. gdy analizujemy prawdopodobieństwo 8

przeżycia na Titanicu (użytkownicy Kaggle mogli już ten temat zgłębiać 5 ) najpierw badamy własności poszczególnych zmiennych np. ile było w populacji kobiet, mężczyzn, w jakich kabinach się znajdowali i w jaki sposób jest to powiązane. Następnie dopasowujemy model, łączymy modele, weryfikujemy je itd., tak aby w jak najlepszy sposób wyjaśniały określone zjawisko lub je przewidywały. Dobór i weryfikacja modelu to zadanie skomplikowane i wymagające dużego nakładu pracy, ale przynoszące niespodziewanie doniosłe efekty. A kiedy już dopasujemy i zweryfikujemy model możemy go stosować do nowych, podobnych danych. Czyli data mining to idealne rozwiązanie np. do analizowania dużych systemów CRM. Ale nie tylko. Coraz częściej metody data mining wykorzystuje się np. do analizy tekstów. Ja sam wykorzystuję techniki text mining do wykrywania insightów np. z portali społecznościowych, czy forów internetowych. Machine learning Termin, który musimy znać, jeśli mówimy o data mining. Właściwie każdy model wykorzystywany w data mining opiera się na uczeniu maszynowym (a tym jest właśnie machine learning). Co ciekawe, o ile w przypadku data mining i big data istnieją pewne problemy pojęciowe przyznacie w końcu, że nie jest to to, czym się na początku wydaje o tyle machine learning jest określeniem dość intuicyjnym. Na czym polega? To bardzo proste. Program/algorytm uczy się wykrywać pewne zależności. Może to robić zarówno jeśli damy mu na wstępie jakiś materiał do nauczenia (wówczas nazywa się to uczeniem maszynowym z nauczycielem supervised machine learning) lub nie (bez nauczyciela unsupervised machine learning). Podręcznik ten ma być wybitnie prosty, dlatego po prostu przedstawię jak działa machine learning na przykładach. Przykład 1. Mamy zestaw danych określających cenę produktu i wielkość sprzedaży. Chcemy określić, przy jakich cenach wielkość sprzedaży spadnie. 5 Kaggle to pierwsza na świecie społeczność data scientist. Zbieramy się i rozwiązujemy zadania analityczne. Pasjonujące, prawda? 9

Przykład 2. Mamy zestaw cech naszych klientów z bazy danych zamówień płeć, adres, wielkość zamówienia, może jakieś uwagi. Chcemy zobaczyć, czy można podzielić naszych klientów na konkretne segmenty, do których można by było adresować inne strategie marketingowe. Przykład 1 to oczywiście uczenie maszynowe z nauczycielem. Algorytm otrzymuje dane z naszej bazy i w oparciu o nie decyduje w jaki sposób cena wpływa na wielkość sprzedaży. Tym samym pozwala przewidzieć, że jeśli znacząco podniesiemy ceny, spadnie nam sprzedaż 6. Przypadek drugi wydaje się nieco ciekawszy, ponieważ na wstępie nie jesteśmy nawet w stanie stwierdzić ile segmentów chcielibyśmy uzyskać. Innymi słowy nasz algorytm sam musi to odkryć. Brzmi wspaniale, prawda? Program wykonuje za nas niezwykle skomplikowaną pracę i dostarcza nam przydatną wiedzę. W rzeczywistości sprawa nie jest aż tak prosta, ale to już nasze analityków zmartwienie. MapReduce To stosunkowo najtrudniejszy termin w całym gąszczu Big Words głównie ze względu na fakt, że nie będąc analitykiem lub programistą dość trudno go zrozumieć. Polska Wiki podaje, że jest to "platforma do przetwarzania równoległego dużych zbiorów danych w klastrach komputerów stworzona przez firmę Google. Nazwa była zainspirowana funkcjami map i reduce z programowania funkcyjnego.". To jednak tylko część definicji w dodatku niekoniecznie ta, która nas interesuje. MapReduce to mówiąc prosto nowy sposób rozwiązywania problemów programistycznych i analitycznych. Jak powiedziano, służący do równoległego, a zatem szybszego (i często po prostu możliwego do zrealizowania) przetwarzania danych. W R języku, który szczególnie sobie upodobałem, odpowiednikiem paradygmatu MapReduce jest paradygmat SAC (Split Apply Combine). Pokrótce przedstawię na przykładzie jego funkcjonowanie. 6 Oczywiście to przykład bardzo uproszczony już teraz wiadomo, że konieczne byłoby w tym przypadku zastosowanie szczególnego modelu regresji nieliniowej. 10

Załóżmy, że posiadamy bazę danych z logów http, która przekazuje nam informację, kto i kiedy wchodził na naszą stronę. Taka baza (po przekształceniu odpowiedniego log-file) wygląda mniej więcej tak: Tabela 1 IP Użytkown Czas Zapytanie Protokó Statu Bajt Start URL ik ł s y 123.123.123.123-26/Apr/2014 portfolio- HTTP 200 1276-00:17:19 item/big- data-mini- podrecznik -laikow/ 1.0. 3 145.145.145.145 Podobne bazy zwłaszcza jeśli mamy bardzo dużo wejść na stronę potrafią mieć milion i więcej wierszy (zwłaszcza jeśli doliczymy do nich odwiedziny google owskich crawlerów). Załóżmy, że chcemy geolokolizować naszych użytkowników oznacza to, że do każdego wiersza konieczne jest dołożenie jednego rekordu np. z nazwą miejscowości, z której otrzymaliśmy zapytanie. Tradycyjny algorytm po prostu sprawdzałby każdy kolejny wiersz po kolei, porównywałby numer IP z osobną bazą danych, która zawiera objaśnienia do znanych numerów IP. Z pewnych względów wędrowanie algorytmu po całym milionie wierszy zajmuje jednak bardzo dużo czasu. W niektórych przypadkach natomiast może być wręcz niemożliwe (dostatecznie duża baza może zawiesić np. R). Musimy więc szukać rozwiązania nietradycyjnego. W pierwszej fazie (faza Map lub gdy mowa o R faza Split, Apply ) rozbijamy tabelę na mniejsze kawałki. Otrzymujemy około kilkuset tabel, z których każda odpowiada unikalnemu adresowi IP. Wówczas na każdej z tych tabel dokonywana jest odpowiednia operacja tzn. przypisanie nazwy miejscowości do adresu IP. Rezultat pierwszej fazy wygląda mniej więcej tak: Tabela 2 IP Adres 123.123.123.12 Pozna IP Adres 134.134.134.13 Krakó IP Adres 145.145.145.14 Warszaw 11

3 ń 123.123.123.12 Pozna 3 ń 4 w 134.134.134.13 Krakó 4 w 5 a 145.145.145.14 Warszaw 5 a Nic wielkiego? Tak się tylko wydaje. Musicie sobie bowiem wyobrazić, że każda z tych tabel może być teraz przetwarzana równocześnie na kilku komputerach. Pierwszą tabelę przetwarza Twój komputer, drugą komputer kolegi z działu sprzedaży, a trzecią komputer sekretarki. W tym samym czasie. Praca, która normalnie musiałaby zostać wykonana przez jeden komputer i zajęłaby przynajmniej kilka minut, zostanie wykonana w sekundy, dzięki rozproszeniu zadań pomiędzy inne komputery. W drugiej fazie (Reduce lub dla R Combine) łączymy nasze części w jedną tabelę. Przy czym niekoniecznie musi to być Tabela 1 z dodatkową kolumną zawierającą nazwy miejscowości. Równie dobrze możemy każdą kolejną tabelę podsumować (np. funkcją nrow w R, która zwraca liczbę wierszy w tabeli) i na etapie Reduce otrzymać już taką tabelę: Tabela 3 Poznań 100 Warszawa 92 Kraków 87 Oczywiście zdaję sobie sprawę, że nie każdy rozumie, na czym rzeczywiście polega rewolucja w tym podejściu, a ci którzy rozumieją, pytają zapewne naprawdę nikt na to wcześniej nie wpadł?. Dlatego albo zaufacie mi i rzeszy analityków, data scientists i data engineers, albo zastanówcie się nad tym: Musimy przetransportować 40 ton zboża. Która z poniższych opcji jest najlepsza? a) Zapakujemy całe 40 ton do jednego powozu, napoimy konia sterydami i będziemy liczyć na to, że ruszy, b) Rozłożymy ładunek na ~60 powozów. Koń przewiezie każdy powóz osobno, c) Rozłożymy ładunek na ~60 powozów i wypożyczymy jeszcze 59 (bo jednego już mamy) koni, które przewiozą ładunek. 12

Widzicie, już druga opcja to trochę MapReduce. Trzecia opcja to MapReduce w Apache Hadoop. Hadoop Jeśli jesteście choć trochę zainteresowani tematem Big Data, to znaczy, że musieliście się spotkać z tym pojęciem. Problem polega na tym, że tak naprawdę niewielu ludzi dokładnie rozumie, co to takiego. Temat jest dość obszerny, dlatego uznałem, że najważniejsze fakty dotyczące Hadoopa najlepiej przedstawić w punktach: 1. Apache Hadoop nie jest programem ani językiem programowania. Jest pewnym środowiskiem, tzw. frameworkiem, zestawem narzędzi, które służą do przetwarzania dużych, rosnących i różnorodnych zbiorów danych. 2. Żeby zrozumieć czym jest Hadoop należy przyswoić sobie przynajmniej dwa pojęcia, które stanowią podstawę jego architektury: MapReduce i HDFS. Pierwsze pojęcie zostało już krótko wytłumaczone. Pojęcie drugie oznacza tyle, że dane w Hadoop przetwarzane są jednocześnie na wielu komputerach. Połączenie MapReduce i HDFS daje olbrzymie możliwości do przetwarzania ogromnych baz danych. 3. Hadoop świetnie radzi sobie z wszelkimi błędami w danych (ze względu na fakt, że każdy plik przechowywany jest zwykle przynajmniej w kilku node ach). 4. Hadoopa w analityce używa się w kilku przypadkach: Jeśli danych jest więcej niż 10TB (granica jest raczej arbitralna, ale można z dużą dozą pewności stwierdzić, że poniżej 10TB można doskonale radzić sobie np. przy pomocy Pythona; R w tym temacie bywa problematyczny, ale też jest to możliwe), Jeśli dane są bardzo różnorodne np. mamy do czynienia jednocześnie z danymi ustrukturyzowanymi (np. z naszego serwera SQL), semistrukturalnymi (np. XML) i nieustrukturyzowanymi (np. zdjęcia, filmy etc.), 13

Jeśli wiemy, że ilość danych będzie rosła Hadoop pozwala na właściwie automatyczne dostosowanie się aplikacji do zwiększonej liczby danych. Wszystko, co trzeba zrobić, to dołożyć do systemu nową maszynę. 5. Hadoop nie musi być trudny. Powstało już kilka dystrybucji ułatwiających operowanie na Apache Hadoop. Cloudera, Hortonworks, MapR wszystkie one dostarczają klientowi przyjazny interfejs i łatwy dostęp do wygodnych rozszerzeń ułatwiających przetwarzanie danych: Apache Pig, Hive, HBase etc. Narzędzia do analizy Big Data Istnieje szereg narzędzi umożliwiających analizę dużych zbiorów danych. Oto tylko niektóre z nich: R (język pisany przez i dla statystyków, posiadający już właściwie wszystkie niezbędne komponenty: pakiety do wizualizacji danych, pakiety do łączenia R z innymi językami, np. z Javą i hurtowniami danych; w ostatnich latach rozwija się nawet osobna infrastruktura do budowania aplikacji webowych tzw. R Shine; coraz łatwiej też pracuje się z R na Apache Hadoop), Python (znany i lubiany język wykorzystywany w tworzeniu gier, aplikacji i właściwie wszystkim, co można robić z programowaniem; jeśli chodzi o analizę interesują nas przede wszystkim moduły NumPy, SciPy, Sci-kit Learn, Pandas, czy NLTK; wydaje się łatwiejszy i bardziej intuicyjny niż R oraz lepszy przy zadaniach związanych z text mining, choć pewności wciąż nie mam), SAS (nieśmiertelne oprogramowanie do analizy danych w przedsiębiorstwach; jeśli jesteś menadżerem w średniej lub dużej firmie to na pewno albo już używasz SAS albo ich przedstawiciel już do Ciebie dzwonił), SPSS, Statistica, Stata (programy przeznaczone do analizy statystycznej; choć sam nie posiadam w nich doświadczenia, wiem, że moi współpracownicy bardzo je sobie chwalą; wydają się łatwiejsze 14

w obsłudze niż np. R, choć niestety podobnie jak SAS - trochę kosztują), Matlab (znany i wciąż szeroko wykorzystywany język do analizy danych, statystyki i wizualizacji danych; często porównywany z R, choć prawdopodobnie w najbliższych latach będzie ustępował swojemu bezpłatnemu koledze), Apache Mahout (biblioteka Java do uczenia maszynowego słabo poznane i stosunkowo nowe narzędzie; podobno jedno z najlepszych, jeśli chodzi o zadania związane z Natural Language Processing; przede wszystkim jednak fakt, że Mahout jest częścią rodziny Apache, sprawia, że jest idealnym rozwiązaniem do łączenia z Hadoop). Big data w małej firmie Przedstawiliśmy pokrótce najważniejsze sprawy związane z Big Data, ale wciąż nie odpowiedzieliśmy na pytanie co właściwie dzięki temu zyskasz i w jaki sposób Big Data Analytics może przełożyć się na funkcjonowanie w małej firmie. Zastanówmy się. Czy naprawdę musisz? Swoje programy Big Data zaczynają wprowadzać największe spółki w Polsce, przy czym nie wszystkie z nich to firmy informatyczne. Nie miejmy złudzeń, że jedno z ważniejszych pytań dla nich będzie brzmiało: Wsiadasz do tego pociągu, czy zostajesz?. Ale czy to samo będzie dotyczyć małych i średnich firm? Odpowiedź nie jest jednoznaczna wydaje się bowiem, że nawet mała firma może porwać się na projekt, w którym organizacja danych będzie wymagała zbudowania infrastruktury Big Data. Takie firmy stanowić będą (przynajmniej na razie) wyjątki. Niemniej jednak wróćmy do pytania, które zadałem wcześniej czy mimo to nie skorzystasz z tej rewolucji? 15

Nowe możliwości Ja sam widzę przynajmniej trzy pozytywne aspekty Big Data. Pierwszy jest taki, że powoli uznaje się Business Intelligence za historię. Bynajmniej nie mam zamiaru się z tym przekonaniem zgodzić Business Intelligence wciąż ma (i będzie się miało) dobrze. Jednak fakt akcentowania roli Big Data sprawił, że firmy, które dotychczas uchylały się od analizowania danych, teraz czują się nieco zawstydzone. Wiele z nich może myśleć w ten sposób: kiedy nasza konkurencja jest na etapie Big Data, my wciąż jeszcze nie wdrożyliśmy Business Intelligence. Powiedzmy jednak, że pozytywność tego aspektu wiąże się z moim interesem - w końcu żyjemy w TriC z outsourcingu analiz; im więcej firm zdaje sobie sprawę, że są im one potrzebne, tym lepiej dla nas. Dlatego skupmy się na dwóch kolejnych pozytywnych aspektach. Rozwój technik analitycznych W ciągu ostatnich kilku lat powstało mnóstwo blogów, opracowań i badań poświęconych wykorzystywaniu data mining do rozwiązywania realnych problemów biznesowych. Zaawansowana analityka na dobre wyszła z akademii i stała się nieodłącznym elementem kształtowania strategii w firmach. Nie tylko tych dużych. Oczywiście przyczyniła się do tego już wcześniejsza rewolucja Business Intelligence, ale wydaje się, że dopiero ostatni szał związany z Big Data zaowocował tysiącami inspirujących myśli. Sieci neuronowe dotąd wykorzystywane tylko przez spółki Warrena Buffeta do przewidywania wyników operacji finansowych zaczęto wykorzystywać w codziennych działaniach biznesowych mniejszych firm np. w celu odpowiedniego targetowania mailingu. Wszelkie inne techniki predykcyjne regresje liniowe, logistyczne, regresja Poissona, regresja Bayesa zadomowiły się tam już na dobre. Rozwój infrastruktury analitycznej Rewolucja Big Data wywołała spore zamieszanie na rynku rozwiązań biznesowych i zdopingowała firmy takie jak IBM, Oracle i inne do gwałtownego rozwijania podobnych rozwiązań. Tym sposobem Big Data to już nie tylko Hadoop (choć ten nadal wygrywa raczej przy zadaniach typu batch processing i co za tym idzie real time analysis), ale też stare i sprawdzone rozwiązania uzupełnione o nowe elementy: SQL Server, Oracle itd. Mimo faktu, że w ostatnich latach pojawiło 16

się wiele opinii, że bazy NoSQL wygrywają z SQL nie jest to do końca prawdą. Nadal przy większości problemów biznesowych lepiej sprawdzają się rozwiązania SQL (głównie ze względu na możliwość realizowania interaktywnych zapytań, która np. w samym Hadoop jest delikatnie mówiąc ograniczona), zwłaszcza wtedy, gdy projektowane były z myślą o naprawdę dużych zbiorach danych. Jeśli ktoś jest chętny, sugeruję sprawdzić działanie Google Big Query (można poćwiczyć na darmowych bazach danych) lub Cloudera Impala. Szybkość zapytań może porazić. Rewolucja Open Source Jest to sprawa pomijana, a chyba jednak warta odnotowania. Nietrudno zauważyć, że większość rozwiązań Big Data, jeśli nie jest darmowa, to przynajmniej z darmowego oprogramowania wyrasta. Co ciekawe, nie chodzi wyłącznie o Apache Hadoop, którego utrzymanie wiąże się wyłącznie z kosztami dostawców serwerów. Z idei Open Source wyrastają najlepsze jak dotąd języki do analizy danych: R i Python. I uwierz, są to potężne narzędzia. Oczywiście najlepsze i najwygodniejsze jak dotąd rozwiązania wymagają już pewnych inwestycji - np. Revolution R Enterprise, czyli R do bezproblemowej analizy Big Data to impreza bardzo droga ale wciąż istnieją szerokie możliwości do budowania tych rozwiązań na własną rękę. Być może więc wygłaszam to zdanie przedwcześnie, ale wydaje mi się, że w ciągu kilku lat możemy spodziewać się zmierzchu nieśmiertelnych, wydawałoby się, rozwiązań analitycznych takich jak np. SAS. 17

Zamiast podsumowania jak zwiększyć efektywność firmy dzięki Big Data? Być może nie potrzebujesz wprowadzania Apache Hadoop do swojej firmy. Być może nie masz problemu ze wciąż rosnącymi zbiorami danych. Być może zamiast budować system Big Data wolisz po prostu usunąć zbędne dane. Pewnie masz rację. Istnieje bardzo małe prawdopodobieństwo, że jesteś jedną z tych osób, które naprawdę potrzebują tego typu rozwiązań (choć może się tak zdarzyć wówczas sugeruję skonsultować się ze specjalistami od wykorzystywania informacji). Jest jednak prawie pewne, że potrzebujesz danych i zaawansowanej analityki. Big Data spowodowało rewolucję w podejściu do zarządzania przedsiębiorstwem i dostarczyło dowodów, że dobrze zaprojektowana baza danych i profesjonalna jej analiza potrafią zdziałać cuda. Możemy być stuprocentowo pewni, że Facebook tym wygrał z wcześniejszymi portalami społecznościowymi, że natychmiast reagował na zmiany w otoczeniu. A udawało mu się to nie tylko dzięki wynalezieniu technologii do przetwarzania dużych zbiorów danych, ale przede wszystkim dzięki rozwojowi technik analizy i prognozowania. Masz więc rację, jeśli twierdzisz, że Big Data to coś odległego i póki co jest tylko słowem powstałym na użytek firm organizujących konferencje i spotkania start-upów. Analityka jest już jednak czymś realnym. Czymś co ukierunkowuje reakcje Twojej firmy. Jest uszami i oczami przedsiębiorstwa. I właśnie to jest największą zaletą rewolucji Big Data że zwróciła uwagę na korzyści wynikające z analiz. 18

Co my możemy zaproponować? Instytut Badań Rynkowych i Społecznych TriC to profesjonalna agencja badawczo-informacyjna zajmująca się badaniami społecznymi i rynkowymi, wyszukiwaniem informacji (infobrokeringiem) i tworzeniem informacyjnych rozwiązań IT dla klientów. Żyjemy z dostarczania wiedzy dla firm, mediów i instytucji publicznych. Badania społeczne i rynkowe Infobrokering Wsparcie w informacyjnych rozwiązaniach IT Analizy statystyczne (w tym prognozowanie) Konsulting informacyjny TriC to oczy Twojej firmy. Chcesz wiedzieć więcej? Zadzwoń lub skontaktuj się z nami: Email: tric@tric.pl Tel.: 512 960 460 http://tric.pl Paweł Chmielowski Filip Cyprowski Marcin Cybulski 19