W świecie danych często przywoływana jest liczba, według której analitycy i naukowcy zajmujący się danymi spędzają około 80% czasu na oczyszczaniu, łączeniu, modelowaniu danych. Proporcja ta sugeruje, że niewiele zostaje przestrzeni na działania związane z poszukiwaniem obserwacji i wyciąganiu wniosków. Ciężko znaleźć rzetelne źródło tej obiegowej opinii, ale myślę, że wszyscy możemy się zgodzić, że przy dużych projektach Data Science jest to proces czasochłonny, ale też bardzo ważny.
Jeżeli przeczytał*ś artykuł o ETL to wiesz już na czym ten proces polega i jakie niesie wyzwania. Jeśli zastanawiasz się, jak zmniejszyć ilość czasu, jaki poświęcasz na procesy ETL, zajrzyj do tego artykułu. Dowiesz się w jaki sposób Alteryx automatyzuje całość procesu ETL, włącznie z czasochłonną transformacją. W tym wpisie zaprezentujemy jak poszczególne etapy procesu ETL przetłumaczyć na język oprogramowania Alteryx Designer, który może znacznie poprawić twoją efektywność pracy z danymi.
Alteryx to platforma Data Science, a jej ważnym komponentem jest zestaw narzędzi, które można wykorzystać w procesie pozyskiwania i przygotowania danych. Przyjrzyjmy się im po kolei wychodząc od etapów procesu ETL.
Extract
Zacznijmy od początku procesu ETL, od ekstrakcji lub inaczej mówiąc wyodrębniania danych. Alteryx Designer oferuję szeroką paletę natywnych konektorów do:
- plików płaskich
- baz danych
- interfejsu API/SDK
Mamy praktycznie nieograniczone możliwości integracji danych i wprowadzania ich do naszego modelu.
Podstawowymi narzędziami w tej części procesu są:
- Input Data, umożliwia wprowadzenie danych do przepływu pracy, łącząc się do plików lub baz danych.
- Directory umożliwia pozyskanie listy plików w określonym katalogu. Narzędzie zwraca nazwy plików i inne informacje, takiej jak rozmiar, datę utworzenia, datę ostatniej modyfikacji i inne.
Przykład wyniku Directory Tool
- Text Input pozwala na stworzenie tabeli ad-hoc z danymi, które możemy wprowadzić ręcznie lub wkleić z clipboardu. Użyteczne przy tworzeniu słowników, etykiet.
- Map Input – użyteczne narzędzie do generowania obiektów przestrzennych takich jak punkty, linie i polygony bezpośrednio na mapie
Obiekty z mapy trafiają do modelu danych, które możemy analizować poprzez całą gamę narzędzi Spatial.
Wildcard Union – scalanie plików z folderu
Jeśli pracujemy z plikami płaskimi to często chcemy scalić wiele plików o identycznej strukturze zawartych w określonych folderach. Do tego możemy użyć prostego zabiegu, który tworzy nam Wildcard Union. Wystarczy użyć znaku asterisk „*” zamiast nazwy pliku.
Typy plików i źródła bazodanowe, z którymi pracuje Alteryx Designer
Alteryx łączy się z różnymi typami baz on-premise oraz w chmurze obliczeniowej. W zależności od typu źródła Alteryx może wykonywać operacje odczytu (Read), zapisu (Write) oraz wykonania operacji bezpośrednio w bazie (In-DB).
API/SDK w Alteryx
Alteryx pozwala na łączenie się do interfejsów API oraz integruje się z różnymi językami programowania co pozwala na tworzenie własnych konektorów. Poniżej ikonki wybranych konektorów.
Do łączenia się do interfejsu API wykorzystamy narzędzie Download Tool. Jedyne co musimy to wprowadzić URL adresu API i przekształcić wyniki.
Znając te narzędzia jesteś w stanie pracować z dowolnymi źródłami danych.
Transform
Transformacja jako najbardziej czasochłonny etap może być znacząco usprawniony dzięki Alteryx. Dostarcza on ogromnych możliwości automatyzowania procesów oczyszczania i transformacji danych.
Jak już widać na wcześniejszym akapicie opisującym Download Tool, proces przetwarzania danych budujemy łącząc w zaplanowany sposób poszczególne komponenty odpowiedzialne za określone operacje. Taki sposób pracy jest niezwykle wygodny w utrzymywaniu i dobrze komunikuje co jest wynikiem całego procesu.
Nie sposób omówić w tym wpisie wszystkich możliwych operacji i przekształceń. Dokładny ich opis znajdziecie w dokumentacji Alteryx, ale też w przykładach dostępnych w samym narzędziu.
Podstawowe kategorie funkcjonalności
Narzędzia niebieskie – Preparation
Narzędzia fioletowe – Join
Narzędzia zielone – Parse
Narzędzia czerwone – Transform
Dla przykładu omówimy pola transformacji, w których jednymi z ważnych funkcji są uzupełniające się Cross Tab i Transpose.
Cross Tab – zmiana z kolumn do wierszy
Służy do zmiany orientacji danych w tabeli, przenosząc pionowe pola danych na oś poziomą i podsumowując dane w określonych miejscach. Narzędzie Cross Tab to odwrotne zastosowanie narzędzia Transpose, które zmienia orientację danych z poziomej na pionową. Nie ma ograniczeń co do liczby wierszy lub kolumn, które można zmienić.
Typowy przykład do zastosowania Cross Tab to tabela płaska zawierająca wszystkie atrybuty w jednej kolumnie. Taki kształt danych nie nadaje się do analizy. Dlatego musimy wyodrębnić poszczególne wartości atrybutów do osobnych kolumn.
Lista lotnisk pobrana ze strony internetowej zwraca tabelę płaską.
Dane ostatecznie możemy przedstawić w osobnych kolumnach.
Transpose – zmiana z wierszy na kolumny
Służy do zmiany orientacji danych w tabeli danych. Przekształca dane, dzięki czemu można wyświetlać poziome pola danych na osi pionowej. Narzędzie Transpozycja to odwrotne zastosowanie narzędzia Cross Tab, które zmienia orientację danych z pionowej na poziomą.
Summarize – operacja wykorzystywana do agregacji, odpowiednik Group by w SQL.
Podsumowanie umożliwia wykonanie różnych akcji (funkcji i obliczeń) na danych. Narzędzie może:
- zwrócić sumę dla kolumny danych, suma jest obliczana poprzez dodanie wszystkich wierszy w kolumnie,
- zwrócić minimalną lub maksymalną wartość w kolumnie,
- policzyć liczbę wierszy w kolumnie,
- pogrupować kolumny danych według identycznych wartości,
- łączyć wartości ciągów,
- wykonać różnorodne obliczenia matematyczne,
- przetwarzać obiekty przestrzenne.
Pozostałe funkcje transformacji Alteryx Designer:
Arrange – rozmieść
Narzędzie pozwala ręcznie transponować i zmienić rozmieszczenie pól danych na potrzeby prezentacji. Każdy rekord jest przekształcany w wiele rozbitych rekordów, a kolumny można tworzyć przy użyciu danych opisu pola.
Count Records – przelicz rekordy
Count Records zlicza liczbę rekordów przechodzących przez to narzędzie. Użyj go, jeśli chcesz uzyskać wynikową liczbę rekordów procesu. Zwraca nawet liczbę zerową, której nie robi narzędzie Summarize.
Running Total – suma skumulowana
Narzędzie oblicza skumulowaną sumę dla pól o typie liczba.
Weighted Average – średnia ważona
Narzędzia In-Database
Przetwarzanie w bazie danych umożliwia łączenie i analizę dużych zestawów danych bez przenoszenia danych z bazy do modelu Alteryx, co może zapewnić znaczną poprawę wydajności w porównaniu z tradycyjnymi metodami analizy. Dlatego, że wymagają one przenoszenia danych do oddzielnego środowiska w celu przetworzenia.
Przeprowadzenie analizy w bazie danych może skrócić czas przetwarzania. Korzystając z programu Designer jako interfejsu, przepływy pracy w bazie danych łatwo integrują się ze standardowymi przepływami pracy w celu dodatkowego mieszania i analizy danych.
Load
Alteryx Designer pozwala zapisać wyniki przepływu do tych samych typów plików płaskich, hurtowni danych, które możemy wykorzystać jako wsad w kroku Extract. Dodatkowo dane możemy wystawić do repozytoriów serwerów Business Intelligence takich jak:
- Tableau Server
- Power BI Server
- Qlik Sense.
Proces ładowania danych może być całkowicie zautomatyzowany poprzez dodatek Alteryx Scheduler lub wykorzystanie środowiska Alteryx Server. Wymagają one ustawienia harmonogramu wyzwalania przepływu, co ostatecznie przekłada się na bezobsługowy proces. Alteryx Server pozwala współdzielić przepływy co ma znaczenie w większych zespołach i wdrożeniach Alteryx jako element krytycznych procesów przetwarzania danych.
Alteryx a ETL
Jak widać na omówionych przykładach, Alteryx Designer doskonale realizuje wszystkie etapy procesu ETL. Sposób w jaki budujemy cały przepływ jest tłumaczony na język piktogramów, co jest niezwykle intuicyjne. Same narzędzia są bardzo dobrze udokumentowane, co pozwala rozpocząć pracę z własnymi przepływami praktycznie od razu. Jeśli jednak decydujecie się na inne rozwiązania technologiczne w budowie produkcyjnych procesów ETL to Alteryx sprawdzi się w budowie prototypów tych zadań, bez angażowania dużych zasobów inżynierii danych. Jeśli chcesz przetestować Alteryx w swoich projektach ETL to pobierz trial i uzyskaj natychmiastowe efekty.