Zamów
bezpłatną
konsultację

Jak Alteryx sprawdza się w procesach ETL? 

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łeś/-łaś 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).

DostawcaTyp źródłaRozszerzenieDostępne operacje
AdobeAdobe AnalyticsRead-only
AlteryxAlteryx Database.yxdbRead, Write
AlteryxAlteryx Calgary.cydbRead-only
AlteryxAlteryx Spatial ZIP.szRead, Write
AmazonAmazon AthenaRead, Write (Bulk Only)
AmazonAmazon AuroraRead, Write
AmazonAmazon RedshiftRead, Write, In-DB
AmazonAmazon Redshift SpectrumRead, Write
AmazonAmazon S3Read, Write
ASCIIFlat ASCII.flatRead, Write
ApacheApache Spark DirectRead, Write, In-DB
ApacheApache Spark ODBCRead, Write, In-DB
ApacheApache Spark on DatabricksRead, Write, In-DB
ApacheApache Spark on Microsoft Azure HDInsightRead, Write, In-DB
ApacheAvro.avroRead, Write
ApacheApache CassandraRead, Write
ApacheHadoop Distributed File System (HDFS)Read, Write
ApacheApache HiveRead, Write, In-DB
ApacheApache ImpalaRead, Write, In-DB
ApacheHadoop Distributed File System (HDFS)Read, Write
CSVComma Separated Value.csvRead, Write
DatabricksDatabricksRead, Write, In-DB
dBasedBase.dbfRead, Write
ESRIESRI GeoDatabase.gdbRead, Write
ESRIESRI Personal GeoDatabasemdbRead-only
ESRIESRI Shapefile.shpRead, Write
EXASOLEXASOLRead, Write, In-DB
GISGIS.grc, .grdRead-only
GoogleGoogle AnalyticsRead-only
GoogleGoogle BigQueryRead, Write
GoogleGoogle Earth/Google Maps.kml Read, Write
GoogleGoogle SheetsRead, Write
GzipGzip.gz, .tgzRead-only
HortonworksHadoop Distributed File System (HDFS)Read, Write
HTMLHyperText Markup Language.htm Write-only
IBMIBM DB2Read, Write
IBMIBM NetezzaRead, Write, In-DB
IBMIBM SPSS.savRead, Write
JSONJSON.jsonRead, Write
MapInfoMapInfo Professional Interchange Format.mif Read, Write
MapInfoMapInfo Professional Table - Classic TAB Format.tabRead, Write
MapR Hadoop Distributed File System (HDFS)Read, Write
MapR HiveRead, Write, In-DB
MarketoMarketoRead, Write
MicrosoftMicrosoft Access 2000-2003.mdbRead, Write
MicrosoftMicrosoft Analytics Platform System  Read, Write, In-DB
MicrosoftMicrosoft Azure Data Lake StoreRead, Write
MicrosoftMicrosoft Azure SQL DatabaseRead, Write, In-DB
MicrosoftMicrosoft Azure SQL Data Warehouse (Azure Synapse Analytics)Read, Write, In-DB
MicrosoftMicrosoft Cognitive ServicesRead-only
MicrosoftMicrosoft Dynamics CRMRead, Write
MicrosoftMicrosoft Excel 1997-2003       .xls Read, Write
MicrosoftMicrosoft Excel 2007, 2010, 2013, 2016, 2019, and Office365.xlsx Read, Write
MicrosoftMicrosoft Excel Binary.xlsbRead, Write
MicrosoftRequires 2010 Access driver
MicrosoftMicrosoft Excel Macro Enabled.xlsmRead, Write
MicrosoftMicrosoft Access 2007, 2010, 2013, 2016.accdb Read, Write
MicrosoftRequires Access driver
MicrosoftMicrosoft OneDriveWrite-only
MicrosoftMicrosoft Power BIWrite-only
MicrosoftMicrosoft SharePointRead, Write
MicrosoftMicrosoft SQL Server 2008, 2012, 2014, 2016Read, Write, In-DB
MongoDBMongoDBRead, Write
MySQLMySQLRead, Write, In-DB
NetSuiteNetSuiteRead-only
OpenGISGeography Markup Language        .gmlWrite-only
OracleOracleRead, Write, In-DB, Predictive
PivotalPivotal GreenplumRead, Write, In-DB
PostgreSQLPostgreSQLRead, Write, In-DB
Qlik QlikView.qvxRead, Write
SalesforceSalesforceRead, Write
SAPSAP HanaRead, Write, In-DB
SASSAS.sas7bdat Read, Write
SnowflakeSnowflakeRead, Write, In-DB
SQLiteSQLite       .sqlite Read, Write
SRC GeographySRC Geography    .geoRead, Write
TableauTableau Data Extract.tde Write-only
TableauTableau Hyper Data Extract.hyper Read, Write
TeradataTeradataRead, Write, In-DB
TeradataTeradata AsterRead-only
TextText        .txt, .ascRead-only
VerticaVerticaRead, Write, In-DB
XMLExtensible Markup Language.xmlRead-only
Zip FilesZip.zipRead-only

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.

Aktualności

E-book: Przepływ danych – porównanie Fivetran, Stitch i Matillion

Aktualności

10 funkcjonalności Tableau Prep Builder, o których musisz wiedzieć