Procesy ETL - wykład V Paweł Skrobanek, C-3 pok. 321 pawel.skrobanek@pwr.wroc.pl oprac. Wrocław 2012 Struktura 1. Wprowadzenie 2. Ekstrakcja 3. Transformacja 4. Ładowanie 5. Studium przypadków Wprowadzenie Procesy ETL 1
Wprowadzenie EKSTRAKCJA TRANSFORMACJA ŁADOWANIE - mechanizmy umożliwiające połączenie i pobranie danych ze źródeł - przykłady operacji (MS Visual Studio) lookup fuzzy lookup new column merge split - wykonywanie skryptów, - konwersja typów, - obsługa błędów. - mechanizmy umożliwiające połączenie i zapisanie danych do struktur docelowych Wprowadzenie Przykłady narzędzi: Oracle Warehouse Builder Microsoft SQL Server Integration Services (SSIS) Informatica PowerCenter Cognos Decisionstream BusinessObjects Data Integrator (BODI) Pentaho Data Integration (Kettle) - open source SAS ETL studio Wprowadzenie CZYSZCZENIE I OBRÓBKA DANYCH PO STRONIE ŹRÓDŁA łatwe definiowani e prostych operacji (krótki czas np. w arkuszu), możliwość skorzystania z widoków ALE permanentnoś ć zmian, trudniejsze wyłapywanie błędów (przeglądani e), dla każdego źródła w innym miejscu W PROCESACH ETL powtarzalność procesu, możliwa obsługa błędów, łatwe dołączani e kolejnych placówek ALE czasochłonne, często trudne konstruowani e procesu, POŚREDNIE 2
Wprowadzenie CZYSZCZENIE I OBRÓBKA DANYCH INNE MOŻLIWOŚCI po załadow aniu (np. uzupełni enie wartości, zapisanie danych o procesie), pośrednie (np. eksport z baz źródłowych do formatu arkusza kalkulacyjneg o, obróbka wstępna, potem ładowanie do HD), wieloetapow e (np. proces ETL zasila tabelę, która stanowi źródło dla kolejnego procesu ETL) DYSKUSJA: Proszę wskazać przykłady zastosowań wskazanych rozwiązań. Ekstrakcja Istotne aspekty: z uwzględnieniem możliwości źródeł (współpracujące lub nie patrz. Poprzedni wykład) opracowanie odpowiednich mechanizmów, z uwzględnieniem możliwości i wydajności systemów i łączy (np. równoległa realizacja procesów, dostęp w określonym czasie, dostosowanie łądowania do przepustowość łączy), z uwzględnieniem możliwości wybranych narzędzi (np. sposoby realizacji, sterowniki, mechanizmy dostępu). Ekstrakcja Przykład: źródła danych (Visual Studio 2008): 3
Ekstrakcja Przykład: definiowanie struktury dla źródła typu flat File (dla pliku *.csv). Ekstrakcja Przykład: brak menedżera dla bazy Access 2007 (spróbujemy pod koniec wykładu poradzić sobie korzystając z: http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=237 34 ). Ekstrakcja Przykład struktury sterowników natywnych dla aplikacji z laboratorium (źródło: http://msdn.microsoft.com/enus/library/cc811599%28v=office.12%29.aspx #Ac2007DevelopingSolutions_CodeExamples ) 4
Transformacja Typowe problemy błędne dane analogie homonimy synonimy konflikty strukturalne brak danych atrybuty odbiegające od normy Transformacja Krótkie objaśnienie: błędne dane (np. czeski błąd przestawione cyfry przy wpisywaniu, pomyłki), homonimy - te same nazwy, ale opisujące różne pojęcia, np. bal zabawa, bal kłoda, typ jako model, typ jako rodzaj samochodu ), synonimy - różne nazwy, ale opisujące to samo pojęcie (np. typ jako model samochodu i model jako model samochodu; miejsce urodzenia i miasto), analogie atrybuty/cechy opisujące to samo, ale w różnym zakresie (np. rejon = pomorze odpowiadający trzem wojewodztwom, NIP postaci PL1111111111) Transformacja konflikty strukturalne reprezentowanie tych samych pojęć, ale przez różne konstrukcje (np. województwo reprezentowane poprzez DS oraz jako element struktury łącznie z kodem kraju PLDS ), atrybuty odbiegające od normy, np. zamiast miasta Wrocław, możemy spotkać Wroclaw, Wrocław Pn., brak danych. 5
Transformacja Mechanizmy porządkowania i standaryzacji danych: lookup umożliwia zamianę lub uzupełnienie wartości na podstawie tabeli referencyjnej (np. słownika), fuzzy lookup j.w., ale na zasadzie podobieństwa danych do wzorca; operacja pozwala np. na ujednolicenie pisowni miejscowości Wroclaw, Wrocław, wroclaw, Transformacja Mechanizmy porządkowania i standaryzacji danych: new column pozwala między innymi na dodanie nowej kolumny i uzupełnienie jej określonymi wartościami (np. automatycznie nadanymi numerami, czy wartościami wyliczonymi na podstawie innych danych), merge mechanizmy pozwalające na złączenie danych pozyskanych różnymi ścieżkami przetwarzania (np. z różnych źródeł), split mechanizm służący do podziału danych oraz zdefiniowanie reguł tego podziału. Transformacja Mechanizmy porządkowania i standaryzacji danych: inne jak na przykład konwersja typów, autonumerowanie (zastosowanie skryptów), wykonywanie operacji języka SQL, wykonanie operacji typu data mining. PRZYKŁAD: Analiza złącznik ksero. 6
Ładowanie Istotne aspekty: z uwzględnieniem możliwości i wydajności systemów i łączy (np. równoległa realizacja procesów z różnych oddziałów lub sekwencyjna, dostęp w określonym czasie, dostosowanie do przepustowości łączy), z uwzględnieniem możliwości wybranych narzędzi (np. sposoby realizacji, sterowniki, mechanizmy dostępu), z uwzględnieniem dodatkowych operacji, np. notacji informacji o procesie (np. stempel czasu, informacja o sukcesie), uruchomienia procesów agregacji, walidacja danych. STUDIUM PRZYPADKÓW PRZYKŁAD 1: Założenia: integrujemy dane osobowe z dwóch różnych systemów (np. dane o właścicielach lokali dla potrzeb łączących się firm dostarczających paliwo do ogrzewania lokali), dla uproszczenie: zintegrowano dane dotyczące adresów zameldowania ten sam ID oznacza ten sam adres zameldowania STUDIUM PRZYPADKÓW PRZYKŁAD 1: Zadanie: zintegrować osoby (źródła poniżej oraz ksero 2) 7
STUDIUM PRZYPADKÓW PRZYKŁAD 2: Założenia: źródło zawiera identyfikator deklaracji RZA (analizowanej przez nas wcześniej - dla przypomnienia postaci: rrrr mm nr ) zapisany w jednym atrybucie (jako kolumna w arkuszu kalkulacyjnym excel), Zadanie: zapisać w bazie docelowej jako trzy osobne atrybuty a) dokonując rozbicia po stronie źródła, b) dokonując rozbicia w trakcie procesu ETL. 8