Projekt Big Data dla firmy farmaceutycznej
Transkrypt
Projekt Big Data dla firmy farmaceutycznej
Projekt Big Data dla firmy farmaceutycznej Jedno z doświadczeń Apollogic związanych z wdrażaniem technologii Big Data do przedsiębiorstw było wsparcie wiodącej firmy farmaceutycznej z USA. Postawiała ona sobie za cel stworzenie systemu, odpowiedzialnego za automatyczną integracje wszystkich danych sprzedażowych do jednego miejsca (tak zwane „Data Lake”). Powstały system miał służyć całej firmie poprzez zapewnienie dostępu do danych granulowanych, jak również tych zintegrowanych i zagregowanych z wielu komercyjnych źródeł. Platforma, która była odpowiedzialna za przetwarzanie terabajtów danych została zbudowana na wielowęzłowym klastrze Apache Hadoop, dystrybucji Cloudera. Główne parametry klastra również robiły wrażenie: 18 Nodów, pamięć RAM 1,32 TB, 468 procesorów 919 TB pojemności dysków Apache Hadoop często wymienia się jako pierwsze skojarzenie związane z tematem Big Data. Projekt ten rozpoczęto w 2005 r., a pierwsza produkcyjna wersja Hadoop 1.0 została opublikowana pod koniec 2011. Co ważne, całe środowisko udostępniane jest jako Open Source. Aktualnie trwają prace nad trzecią wersją oprogramowania, która ma pojawić się jeszcze w roku 2016. Obecnie ilość pozyskiwanych danych z różnych źródeł przez przedsiębiorstwa rośnie w niesamowitym tempie. Wiele z nich nie jest w stanie nadążyć za zmianami niezbędnymi do ich przetworzenia. Firmy nie dysponują wiedzą jak najefektywniej wykorzystać pozyskane informacje, a co za tym idzie – przedstawić je w sposób zrozumiały dla osób zarządzających. Ci, na ich podstawie, mogliby podejmować prawidłowe decyzje biznesowe. Podobny problem wystąpił również podczas opisywanej współpracy. Trudności z ogromną ilością danych, których przetworzenie zajmowało coraz więcej czasu, jak również ich objętość, przekonały zarządzających do podjęcia wysiłku przeniesienia informacji z wielu rozdrobnionych baz do jednego „Data Lake”. Miało ono działać przy pomocy środowiska Apache Hadoop. Rozwiązanie to miało znacząco przyspieszyć procesowanie danych, które w dalszej kolejności posłużyły do ustalenia globalnej strategii sprzedaży. Zespół Apollogic był odpowiedzialny za pierwszą i zarazem najważniejszą część tego procesu. Początkowo, pliki źródłowe, wielkości nierzadko ponad 100GB, były udostępniane przez kontrahenta w formie skompresowanej gzip. Obowiązkiem Apollogic było przygotowanie procesu ETL na Klastrze w celu przetworzenia tych danych. Nowe pakiety były nam dostarczane co 2 tygodnie. Cały proces od momentu ich otrzymania, do przedstawienia ich dla użytkowników końcowych składał się aż z 5 etapów (rys 1). ul. Rubież 46, 61-612 Poznań tel. +48 61 622 6950 www.apollogic.com Rys 1. Schemat procesu ładowania danych do środowiska Hadoop Od początkowego załadowania danych na platformę, poprzez ich walidację (sprawdzenie czy dostarczona porcja danych jest zgodna ze specyfikacją), następnie udostępnienie ich do przetworzenia, przeprocesowanie i wykonanie kolejnej walidacji. Po wstępnym przetworzeniu danych nastąpiła potrzeba archiwizacji rezultatów. Tu po raz kolejny niezbędne okazało się posiadanie archiwum, z którego w dowolnym momencie przywrócone mogły zostać wcześniej uzyskane rezultaty. Bez tego kroku projekt nie mógł się udać. Idąc dalej, dane zostały przeniesione do całkowicie innej bazy, gdzie analitycy mogli już przetwarzać je w dowolny sposób. Warto w tym miejscu wspomnieć o ilości przetwarzanych informacji - pojedyncze tabele potrafiły mieć od setek milionów po kilkanaście miliardów rekordów a ich wielkość z każdym kolejnym przetwarzaniem rosła. Czas przetworzenia ich wszystkich wynosił około 3 dni – było to naprawdę dużym sukcesem. Cały proces polegał na skomplikowanej obróbce danych, której wymagania zostały przekazane przez przedstawicieli firmy. W tym wypadku idealnym rozwiązaniem okazało się wykorzystanie skryptów BASHowych (rys 2. – MapRecuce Job) do ich przetwarzania, gdyż procesowana ilość była jak dotąd dla nas niespotykana, a każdy ręczny sposób przetwarzania był z góry skazany na porażkę. Same skrypty BASHowe podpięte do jednego z wiodących na rynku narzędzi ELT, Informatica Big Data Edition, umożliwiały pełną automatyzację wykonywanych czynności. Pozwoliło to uniknąć wielu błędów, które na pewno zostałyby w innym wypadku popełnione. Dodatkowo w skryptach użyty został Beeline – narzędzie, które umożliwiało komunikację z Apache Hive, a tym samym z danymi porozrzucanymi na naszym klastrze. Hive to narzędzie wchodzące w skład ekosystemu Hadoop, które w sposób podobny jak SQL umożliwia przeglądanie danych. Kwestia prostego operowania na danych była najbardziej istotna dla końcowych userów, którzy nie chcieli „poruszać się” na inaczej zorganizowanych informacjach. Dlatego też konsultanci pozostali przy stosunkowo prostym narzędziu, jakim jest Apache Hive. ul. Rubież 46, 61-612 Poznań tel. +48 61 622 6950 www.apollogic.com Rys 2. MapRecuce Job podczas wykonywania skryptu BASH Całą logikę udało się wdrożyć i zautomatyzować w ciągu niecałych 6 miesięcy. Wydaje się to naprawdę niedługim okresem patrząc na ogrom danych, z jakimi musieli sobie poradzić pracownicy Apollogic. Pomimo wielu zawiłości, z sukcesem doprowadzono projekt do takiego etapu, że wszystkie procesy wykonywały się niemal automatycznie, a ich ślady były łatwo dostępne w postaci Logów. W podziękowaniu zespół Apollogic otrzymał informację, że cały projekt wykorzystujący technologię Big Data znacząco przyczynił się do poprawy szybkości otrzymanych rezultatów, a łatwość w łączeniu danych z różnych źródeł umożliwiła ich wizualizację w sposób wyjątkowo przyjazny dla analityków. Platforma pozwoliła firmie dokładniej spojrzeć na dane, mieć do nich szybszy dostęp, dzięki czemu pracownicy mogli spędzić więcej czasu prowadzenia działalności gospodarczej aniżeli ciągłej integracji. Cały projekt, dzięki wykorzystaniu technologii Big Data (Ecosystemu Hadoop) gromadził informacje z różnych źródeł do jednego obszaru "Data Lake". Dane te były dostępne dla analityków w narzędziu do wizualizacji Qlik Sense. Te same informacje były również dostępne za pośrednictwem SAS dla zaawansowanych użytkowników. Projekt przyczynił się do uzyskania analiz ponad 27 dni wcześniej niż przed wdrożeniem technologii Big Data. Prawie miesiąc wcześniej można było uzyskać analizy predykcyjne dotyczący ustalenia globalnej analizy sprzedaży. Trudno szczegółowo oszacować korzyści dla firmy, jednak prawie miesiąc różnicy w uzyskaniu rezultatów robi wrażenie. ul. Rubież 46, 61-612 Poznań tel. +48 61 622 6950 www.apollogic.com Rys 3. Wykorzystanie Qlik Sense na przetworzonych danych Przykład ten pokazuje, że umiejętne wdrożenie technologii Big Data może przynieść wymierne korzyści. To środowisko zmienia się bardzo dynamicznie. Trzeba być na bieżąco z obowiązującymi trendami i posiadać określone umiejętności, aby nadążyć za tym postępem. Dzisiaj, dzięki obecnie dostępnej technologii, pewne aspekty opisywanego projektu mogłyby być zrobione w jeszcze wydajniejszy sposób. Prawdopodobnie użycie najnowszych technologii jak Apache Spark, które przetwarzają dane w pamięci, a nie na dyskach, przyczyniłoby się do jeszcze bardziej spektakularnych rezultatów. Już dziś liczne doświadczenia pokazują, że różnica na korzyść Apache Spark jest znaczna. Liczymy, że w niedalekiej przyszłości będziemy mogli również wdrożyć to rozwiązanie na takich ilościach danych na jakich teraz mogliśmy pracować. ul. Rubież 46, 61-612 Poznań tel. +48 61 622 6950 www.apollogic.com