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

Podobne dokumenty