what is etl extract
Ten szczegółowy samouczek dotyczący procesu ETL wyjaśnia przebieg procesu i kroki związane z procesem ETL (wyodrębnianie, transformacja i ładowanie) w hurtowni danych:
Ten samouczek z tej serii wyjaśnia: Co to jest proces ETL? Ekstrakcja danych, transformacja, ładowanie, płaskie pliki, co to jest staging? Cykl ETL itp.
Zaczynajmy!!
=> Zapoznaj się z przewodnikiem szkoleniowym Perfect Data Warehousing tutaj.
Czego się nauczysz:
- Podstawy procesu ETL (Extract, Transform, Load)
- Wniosek
Podstawy procesu ETL (Extract, Transform, Load)
Docelowi odbiorcy
- Programiści i testerzy hurtowni danych / ETL.
- Specjaliści od baz danych z podstawową wiedzą na temat koncepcji baz danych.
- Administratorzy baz danych / eksperci Big Data, którzy chcą zrozumieć obszary hurtowni danych / ETL.
- Absolwenci / świeżo upieczeni studenci, którzy szukają pracy w hurtowni danych
Co to jest proces ETL w hurtowni danych?
Wszyscy wiemy, że hurtownia danych to zbiór ogromnych ilości danych, które mają dostarczać informacje użytkownikom biznesowym za pomocą narzędzi Business Intelligence.
W tym celu DW należy ładować w regularnych odstępach czasu. Dane do systemu są zbierane z jednego lub kilku systemów operacyjnych, plików płaskich itp. Proces, który dostarcza dane do DW, jest znany jako proces ETL . Wydobywanie, transformacja i ładowanie to zadania ETL.
# 1) Ekstrakcja: Wszystkie preferowane dane z różnych systemów źródłowych, takich jak bazy danych, aplikacje i pliki proste, są identyfikowane i wyodrębniane. Wyodrębnianie danych można zakończyć, uruchamiając zadania poza godzinami pracy.
# 2) Transformacja: Większość wyodrębnionych danych nie może zostać bezpośrednio załadowana do systemu docelowego. W oparciu o reguły biznesowe niektóre transformacje można wykonać przed załadowaniem danych.
Na przykład, dane kolumny docelowej mogą oczekiwać, że jako dane wejściowe zostaną połączone dwie kolumny źródłowe. Podobnie może istnieć złożona logika transformacji danych, która wymaga specjalistycznej wiedzy. Niektóre dane, które nie wymagają żadnych przekształceń, można przenieść bezpośrednio do systemu docelowego.
Proces transformacji również koryguje dane, usuwa wszelkie niepoprawne dane i naprawia wszelkie błędy w danych przed ich załadowaniem.
# 3) Ładowanie: Wszystkie zebrane informacje są ładowane do docelowych tabel hurtowni danych.
Ekstrakcja danych
Ekstrakcja danych odgrywa główną rolę w projektowaniu udanego systemu DW. Różne systemy źródłowe mogą mieć różne cechy danych, a proces ETL będzie skutecznie zarządzać tymi różnicami podczas ekstrakcji danych.
' Logiczna mapa danych ”To dokument bazowy do ekstrakcji danych. Pokazuje, które dane źródłowe powinny trafiać do której tabeli docelowej i jak pola źródłowe są mapowane na odpowiednie pola tabeli docelowej w procesie ETL.
Poniżej przedstawiono kroki, które należy wykonać podczas projektowania logicznej mapy danych:
- Architekt hurtowni danych projektuje dokument logicznej mapy danych.
- Odwołując się do tego dokumentu, programista ETL utworzy zadania ETL, a testerzy ETL utworzą przypadki testowe.
- Wszystkie konkretne źródła danych i odpowiednie elementy danych, które wspierają decyzje biznesowe, zostaną wymienione w tym dokumencie. Te elementy danych będą działać jako dane wejściowe podczas procesu wyodrębniania.
- Dane ze wszystkich systemów źródłowych są analizowane, a wszelkiego rodzaju anomalie danych są dokumentowane, co pomaga w projektowaniu odpowiednich reguł biznesowych, aby przestać wyodrębniać niewłaściwe dane do DW. Takie dane są tutaj odrzucane.
- Po zaprojektowaniu ostatecznego źródłowego i docelowego modelu danych przez architektów ETL i analityków biznesowych mogą oni przeprowadzić spacer z programistami ETL i testerami. Dzięki temu uzyskają jasne zrozumienie, w jaki sposób reguły biznesowe powinny być wykonywane na każdym etapie ekstrakcji, transformacji i ładowania.
- Przeglądając reguły mapowania z tego dokumentu, architekci, programiści i testerzy ETL powinni dobrze zrozumieć, jak dane przepływają z każdej tabeli jako wymiary, fakty i inne tabele.
- W tym miejscu wymieniono również wszelkiego rodzaju reguły lub formuły dotyczące manipulacji danymi, aby uniknąć ekstrakcji błędnych danych. Na przykład, wyodrębnij tylko dane z ostatnich 40 dni itp.
- Zespół ETL jest odpowiedzialny za drążenie danych zgodnie z wymaganiami biznesowymi, aby wydobyć każdy przydatny system źródłowy, tabele i dane kolumn, które mają być załadowane do DW.
Dokument mapy danych logicznych to zazwyczaj arkusz kalkulacyjny, który przedstawia następujące elementy:
(tabela „” nie została znaleziona /)Schemat przepływu ekstrakcji:
Określić z wyprzedzeniem przedział czasu, w którym należy uruchomić zadania w każdym systemie źródłowym, aby żadne dane źródłowe nie zostały utracone podczas cyklu wyodrębniania.
Dzięki powyższym krokom ekstrakcja osiąga cel konwersji danych z różnych formatów z różnych źródeł do jednego formatu DW, co jest korzystne dla całego procesu ETL. Takie logicznie rozmieszczone dane są bardziej przydatne do lepszej analizy.
Metody wyodrębniania w hurtowni danych
W zależności od źródłowego i docelowego środowiska danych oraz potrzeb biznesowych możesz wybrać metodę ekstrakcji odpowiednią dla Twojego DW.
# 1) Logiczne metody ekstrakcji
Ekstrakcja danych w systemie hurtowni danych może być jednorazowym pełnym ładowaniem, które jest wykonywane początkowo (lub) może to być ładowanie przyrostowe, które występuje za każdym razem z ciągłymi aktualizacjami.
do czego są używane pliki APK
- Pełna ekstrakcja: Jak sama nazwa wskazuje, dane systemu źródłowego są w całości wyodrębniane do tabeli docelowej. Za każdym razem ten rodzaj ekstrakcji ładuje wszystkie bieżące dane systemu źródłowego bez uwzględniania ostatnich wyodrębnionych znaczników czasu. Najlepiej jest użyć pełnego wyodrębniania dla początkowych ładowań lub tabel z mniejszą liczbą danych.
- Ekstrakcja przyrostowa: Dane, które zostały dodane / zmodyfikowane od określonej daty, zostaną uwzględnione przy ekstrakcji przyrostowej. Ta data jest specyficzna dla firmy, ponieważ ostatnia wyodrębniona data (lub) data ostatniego zamówienia itp. Możemy odwołać się do kolumny znacznika czasu z samej tabeli źródłowej (lub) można utworzyć oddzielną tabelę, aby śledzić tylko szczegóły dotyczące daty pobrania. Odwoływanie się do znacznika czasu jest istotną metodą podczas ekstrakcji przyrostowej. Logika bez znacznika czasu może zawieść, jeśli tabela DW zawiera duże ilości danych.
# 2) Fizyczne metody ekstrakcji
W zależności od możliwości systemów źródłowych i ograniczeń danych, systemy źródłowe mogą fizycznie dostarczać dane do ekstrakcji w trybie online i offline. Obsługuje wszystkie logiczne typy wyodrębniania.
- Ekstrakcja online :: Możemy bezpośrednio połączyć się z dowolnymi bazami danych systemu źródłowego za pomocą parametrów połączenia, aby wyodrębnić dane bezpośrednio z tabel systemu źródłowego.
- Ekstrakcja offline :: Nie będziemy tutaj bezpośrednio łączyć się z bazą danych systemu źródłowego, zamiast tego system źródłowy dostarcza dane jawnie w predefiniowanej strukturze. Systemy źródłowe mogą dostarczać dane w postaci plików płaskich, plików zrzutu, dzienników archiwalnych i obszarów tabel.
Narzędzia ETL najlepiej nadają się do wykonywania złożonych ekstrakcji danych, w przypadku DW dowolną liczbę razy, chociaż są drogie.
Wyodrębnianie zmienionych danych
Po zakończeniu ładowania początkowego ważne jest, aby rozważyć dalsze wyodrębnianie zmienionych danych z systemu źródłowego. Zespół procesu ETL powinien opracować plan wdrożenia ekstrakcji dla obciążeń początkowych i przyrostowych na początku samego projektu.
Przeważnie można rozważyć strategię „kolumn audytu” dla obciążenia przyrostowego, aby uchwycić zmiany danych. Ogólnie rzecz biorąc, źródłowe tabele systemowe mogą zawierać kolumny kontroli, które przechowują znacznik czasu dla każdej modyfikacji wstawienia (lub).
Sygnatura czasowa może zostać wypełniona przez wyzwalacze bazy danych (lub) z samej aplikacji. Należy zapewnić dokładność danych kolumn audytu, nawet jeśli są ładowane w jakikolwiek sposób, aby nie przegapić zmienionych danych w przypadku obciążeń przyrostowych.
Podczas ładowania przyrostowego można wziąć pod uwagę maksymalną datę i godzinę ostatniego ładowania i wyodrębnić wszystkie dane z systemu źródłowego ze znacznikiem czasu większym niż znacznik czasu ostatniego ładowania.
Podczas wyodrębniania danych:
- Używaj zapytań optymalnie, aby pobierać tylko potrzebne dane.
- Nie używaj klauzuli Distinct, ponieważ spowalnia ona wykonywanie zapytań.
- Używaj operatorów SET, takich jak Union, Minus, Intersect ostrożnie, ponieważ obniża to wydajność.
- Użyj słów kluczowych porównania, takich jak like, between itp. W klauzuli Where, zamiast funkcji takich jak substr (), to_char () itp.
Transformacja danych
Transformacja to proces, w którym zestaw reguł jest stosowany do wyodrębnionych danych przed bezpośrednim załadowaniem źródłowych danych systemowych do systemu docelowego. Wyodrębnione dane są traktowane jako dane surowe.
Proces transformacji z zestawem standardów przenosi wszystkie odmienne dane z różnych systemów źródłowych do użytecznych danych w systemie DW. Transformacja danych ma na celu jakość danych. Możesz odwołać się do dokumentu mapowania danych dla wszystkich logicznych reguł transformacji.
Na podstawie reguł transformacji, jeśli jakiekolwiek dane źródłowe nie spełniają instrukcji, to takie dane źródłowe są odrzucane przed załadowaniem do docelowego systemu DW i umieszczane w pliku odrzuceń lub tabeli odrzuceń.
Reguły transformacji nie są określone dla danych kolumn ładowania prostego (nie wymagają żadnych zmian) ze źródła do celu. W związku z tym transformacje danych można sklasyfikować jako proste i złożone. Transformacje danych mogą obejmować konwersje kolumn, ponowne formatowanie struktury danych itp.
Poniżej przedstawiono niektóre zadania, które należy wykonać podczas transformacji danych:
# 1) Wybór: Możesz wybrać całą tabelę danych lub określony zestaw danych kolumn z systemów źródłowych. Selekcja danych jest zwykle zakończona w samym pobraniu.
Może się zdarzyć, że system źródłowy nie pozwoli na wybranie określonego zestawu kolumn danych w fazie ekstrakcji, następnie wyodrębnienie całości danych i dokonanie selekcji w fazie transformacji.
# 2) Dzielenie / łączenie: Możesz manipulować wybranymi danymi, dzieląc je lub łącząc. Podczas transformacji zostaniesz poproszony o jeszcze większy podział wybranych danych źródłowych.
Na przykład, jeśli cały adres jest przechowywany w jednym dużym polu tekstowym w systemie źródłowym, system DW może poprosić o podzielenie adresu na osobne pola, takie jak miasto, stan, kod pocztowy itp. Jest to łatwe do indeksowania i analizy na podstawie każdego z nich komponent indywidualnie.
Natomiast łączenie / łączenie dwóch lub więcej kolumn danych jest szeroko stosowane podczas fazy transformacji w systemie DW. Nie oznacza to połączenia dwóch pól w jedno pole.
Na przykład, jeśli informacje o konkretnym podmiocie pochodzą z wielu źródeł danych, wówczas zbieranie informacji jako pojedynczego podmiotu można nazwać łączeniem / scalaniem danych.
# 3) Konwersja: Wyodrębnione dane z systemów źródłowych mogą mieć różne formaty dla każdego typu danych, dlatego wszystkie wyodrębnione dane powinny zostać przekonwertowane do standardowego formatu na etapie transformacji. Ten sam rodzaj formatu jest łatwy do zrozumienia i łatwy w użyciu przy podejmowaniu decyzji biznesowych.
# 4) Podsumowanie: W niektórych sytuacjach DW będzie szukał podsumowanych danych zamiast szczegółowych danych niskiego poziomu z systemów źródłowych. Ponieważ dane niskiego poziomu nie nadają się najlepiej do analizy i zapytań przez użytkowników biznesowych.
Na przykład, dane sprzedażowe dla każdej kasy mogą nie być wymagane przez system DW, przydatna jest codzienna sprzedaż produktów ubocznych (lub) codzienna sprzedaż w sklepie. Dlatego podsumowanie danych można przeprowadzić w fazie transformacji zgodnie z wymaganiami biznesowymi.
# 5) Wzbogacanie: Gdy kolumna DW jest tworzona przez połączenie jednej lub więcej kolumn z wielu rekordów, wzbogacenie danych spowoduje ponowne uporządkowanie pól w celu uzyskania lepszego widoku danych w systemie DW.
# 6) Zmiany formatu: Zmiany formatu mają miejsce najczęściej podczas fazy transformacji. Typ danych i ich długość są zmieniane dla każdej kolumny.
Na przykład, kolumna w jednym systemie źródłowym może być numeryczna, a ta sama kolumna w innym systemie źródłowym może być tekstem. Aby to ujednolicić, podczas fazy transformacji typ danych w tej kolumnie jest zmieniany na tekst.
# 7) Dekodowanie pól: Podczas wyodrębniania danych z wielu systemów źródłowych dane w różnych systemach mogą być dekodowane w różny sposób.
Na przykład, jeden system źródłowy może reprezentować status klienta jako AC, IN i SU. Inny system może reprezentować ten sam status co 1, 0 i -1.
W fazie transformacji danych należy takie kody dekodować na odpowiednie wartości, które są zrozumiałe dla użytkowników biznesowych. W związku z tym powyższe kody można zmienić na Aktywne, Nieaktywne i Zawieszone.
# 8) Obliczone i wyprowadzone wartości: Biorąc pod uwagę źródłowe dane systemowe, DW może przechowywać dodatkowe dane kolumnowe do obliczeń. Musisz wykonać obliczenia w oparciu o logikę biznesową przed zapisaniem jej w DW.
# 9) Konwersja daty / godziny: Jest to jeden z kluczowych typów danych, na których należy się skoncentrować. Format daty / godziny może być inny w wielu systemach źródłowych.
Na przykład, jedno źródło może przechowywać datę 10 listopada 1997 r. Inne źródło może przechowywać tę samą datę w formacie 11/10/1997. Dlatego podczas transformacji danych wszystkie wartości daty / godziny powinny zostać przekonwertowane na format standardowy.
# 10) De-duplikacja: W przypadku, gdy system źródłowy ma zduplikowane rekordy, upewnij się, że tylko jeden rekord jest załadowany do systemu DW.
Diagram przepływu transformacji:
Jak przeprowadzić transformację?
W zależności od złożoności transformacji danych można użyć metod ręcznych, narzędzi do transformacji (lub) kombinacji obu, w zależności od tego, co jest efektywne.
# 1) Techniki ręczne
Techniki ręczne są odpowiednie dla małych systemów DW. Analitycy danych i programiści stworzą programy i skrypty do ręcznej transformacji danych. Ta metoda wymaga szczegółowych testów dla każdej części kodu.
Koszt utrzymania może stać się wysoki ze względu na zmiany, które zachodzą w regułach biznesowych (lub) z powodu prawdopodobieństwa wystąpienia błędów wraz ze wzrostem ilości danych. Powinieneś zadbać o metadane na początku, a także przy każdej zmianie, która zachodzi w regułach transformacji.
# 2) Narzędzia do transformacji
Jeśli chcesz zautomatyzować większość procesu transformacji, możesz zastosować narzędzia transformacji w zależności od budżetu i ram czasowych dostępnych dla projektu. Podczas automatyzacji warto poświęcić sporo czasu na dobór narzędzi, ich konfigurację, instalację i integrację z systemem DW.
Praktycznie Pełna transformacja za pomocą samych narzędzi nie jest możliwa bez ręcznej interwencji. Ale dane przekształcane przez narzędzia są z pewnością wydajne i dokładne.
Aby to osiągnąć, powinniśmy wprowadzić odpowiednie parametry, definicje danych i reguły do narzędzia transformacji jako dane wejściowe. Z podanych danych wejściowych samo narzędzie zarejestruje metadane, a te metadane zostaną dodane do ogólnych metadanych DW.
Jeśli są jakieś zmiany w regułach biznesowych, to po prostu wprowadź te zmiany do narzędzia, resztą modyfikacji transformacji zajmie się samo narzędzie. Stąd połączenie obu metod jest efektywne w użyciu.
Ładowanie danych
Wyodrębnione i przekształcone dane są ładowane do docelowych tabel DW podczas fazy ładowania procesu ETL. Firma decyduje, jak powinien przebiegać proces ładowania dla każdej tabeli.
Proces ładowania może odbywać się na następujące sposoby:
- Wczytanie początkowe: Ładowanie danych w celu wypełnienia odpowiednich tabel DW po raz pierwszy.
- Obciążenie przyrostowe: Po załadowaniu tabel DW pozostałe trwające zmiany są stosowane okresowo.
- Pełne odświeżanie: Jeśli jakiekolwiek używane tabele wymagają odświeżenia, bieżące dane z tej tabeli są całkowicie usuwane, a następnie ponownie ładowane. Ponowne ładowanie jest podobne do ładowania początkowego.
Spójrz na poniższy przykład, aby lepiej zrozumieć proces ładowania w ETL:
ID produktu | Nazwa produktu | Data sprzedaży |
---|---|---|
1 | Książka do gramatyki | 3 czerwca 2007 |
dwa | Znacznik | 3 czerwca 2007 |
3 | Torba na plecy | 4 czerwca 2007 |
4 | Czapka | 4 czerwca 2007 |
5 | Buty | 5 czerwca 2007 |
# 1) Podczas początkowego ładowania dane, które są sprzedawane na 3r & DCzerwiec 2007 zostanie załadowany do tabeli docelowej DW, ponieważ są to początkowe dane z powyższej tabeli.
#dwa) Podczas ładowania przyrostowego musimy załadować dane, które są sprzedawane po 3r & DCzerwiec 2007. Powinniśmy wziąć pod uwagę wszystkie rekordy z datą sprzedaży większą niż (>) poprzednia data na następny dzień. Stąd 4thCzerwiec 2007, pobierz wszystkie rekordy z datą sprzedaży> 3r & DCzerwiec 2007, używając zapytań i załaduj tylko te dwa rekordy z powyższej tabeli.
W dniu 5thCzerwiec 2007, pobierz wszystkie rekordy z datą sprzedaży> 4thCzerwiec 2007 i załaduj tylko jeden rekord z powyższej tabeli.
# 3) Podczas pełnego odświeżania wszystkie powyższe dane tabeli są ładowane do tabel DW na raz, niezależnie od daty sprzedaży.
Załadowane dane są przechowywane w odpowiednich wymiarach (lub) tabelach faktów. Dane można ładować, dołączać lub scalać do tabel DW w następujący sposób:
# 4) Wczytaj: Dane są ładowane do tabeli docelowej, jeśli jest pusta. Jeśli w tabeli istnieją jakieś dane, istniejące dane są usuwane, a następnie ładowane z nowymi danymi.
Na przykład,
Istniejące dane tabeli
imię i nazwisko pracownika | Rola |
---|---|
Jan | Menedżer |
Revanth | Prowadzić |
Pion | Asystent menadżera |
Ronald | Deweloper |
Zmienione dane
imię i nazwisko pracownika | Rola |
---|---|
Jan | Menedżer |
Rohan | dyrektor |
Chetan | AVP |
Plik | Wiceprezes |
Dane po załadowaniu
imię i nazwisko pracownika | Rola |
---|---|
Jan | Menedżer |
Rohan | dyrektor |
Chetan | AVP |
Plik | Wiceprezes |
# 5) Dołącz: Dołącz jest rozszerzeniem powyższego obciążenia, ponieważ działa na już istniejących tabelach danych. W tabelach docelowych polecenie Dołącz dodaje więcej danych do istniejących danych. Jeśli z danymi wejściowymi zostanie znaleziony zduplikowany rekord, może zostać dołączony jako duplikat (lub) może zostać odrzucony.
Na przykład,
Istniejące dane tabeli
imię i nazwisko pracownika | Rola |
---|---|
Jan | Menedżer |
Revanth | Prowadzić |
Zmienione dane
imię i nazwisko pracownika | Rola |
---|---|
Jan | Menedżer |
Rohan | dyrektor |
Chetan | AVP |
Plik | Wiceprezes |
Dane po dołączeniu
imię i nazwisko pracownika | Rola |
---|---|
Jan | Menedżer |
Revanth | Prowadzić |
Rohan | dyrektor |
Chetan | AVP |
Plik | Wiceprezes |
# 6) Destrukcyjne scalanie: Tutaj przychodzące dane są porównywane z istniejącymi danymi docelowymi na podstawie klucza podstawowego. Jeśli jest dopasowanie, istniejący rekord docelowy zostanie zaktualizowany. Jeśli nie zostanie znalezione dopasowanie, nowy rekord zostanie wstawiony do tabeli docelowej.
Na przykład,
Istniejące dane tabeli
imię i nazwisko pracownika | Rola |
---|---|
Jan | Menedżer |
Revanth | Prowadzić |
Zmienione dane
imię i nazwisko pracownika | Rola |
---|---|
Jan | Menedżer |
Revanth | dyrektor |
Chetan | AVP |
Plik | Wiceprezes |
Dane po konstruktywnym scaleniu
imię i nazwisko pracownika | Rola |
---|---|
Jan | Menedżer |
Revanth | dyrektor |
Chetan | AVP |
Plik | Wiceprezes |
# 7) Konstruktywne idzie: W przeciwieństwie do scalania destrukcyjnego, jeśli istnieje dopasowanie do istniejącego rekordu, pozostawia istniejący rekord bez zmian, wstawia rekord przychodzący i oznacza go jako najnowsze dane (znacznik czasu) w odniesieniu do tego klucza podstawowego.
Na przykład,
Istniejące dane tabeli
imię i nazwisko pracownika | Rola |
---|---|
Jan | Menedżer |
Revanth | Prowadzić |
Zmienione dane
imię i nazwisko pracownika | Rola |
---|---|
Jan | Menedżer |
Revanth | dyrektor |
Chetan | AVP |
Plik | Wiceprezes |
Dane po konstruktywnym scaleniu
imię i nazwisko pracownika | Rola |
---|---|
Jan | Menedżer |
Revanth | Dyrektor*** |
Revanth | Prowadzić |
Chetan | AVP |
Plik | Wiceprezes |
Technicznie rzecz biorąc, odświeżanie jest łatwiejsze niż aktualizowanie danych. Aktualizacja wymaga specjalnej strategii, aby wyodrębnić tylko określone zmiany i zastosować je w systemie DW, podczas gdy Odśwież tylko zastępuje dane. Jednak odświeżanie danych zajmuje więcej czasu w zależności od ilości danych.
Jeśli masz takie zadania odświeżania do codziennego uruchamiania, może być konieczne wyłączenie systemu DW, aby załadować dane. Zamiast sprowadzać cały system DW, aby za każdym razem ładował dane, możesz podzielić i załadować dane w postaci kilku plików.
Podczas testowania zanotuj czas działania każdego obciążenia. Jeśli jakiekolwiek dane nie mogą zostać załadowane do systemu DW ze względu na jakiekolwiek niezgodności kluczy itp., Należy dać im sposoby obsługi tego rodzaju danych. Upewnij się, że załadowane dane zostały dokładnie przetestowane.
Schemat przepływu ładowania:
Pilniki płaskie
Pliki płaskie są szeroko stosowane do wymiany danych między systemami heterogenicznymi, z różnych źródłowych systemów operacyjnych i z różnych źródłowych systemów baz danych do aplikacji hurtowni danych. Pliki płaskie są najbardziej wydajne i łatwe w zarządzaniu również w systemach jednorodnych.
Pliki płaskie są używane głównie do następujących celów:
# 1) Dostarczanie danych źródłowych: Może istnieć kilka systemów źródłowych, które ze względów bezpieczeństwa nie pozwolą użytkownikom DW na dostęp do ich baz danych. W takich przypadkach dane są dostarczane w postaci plików płaskich.
Podobnie, dane pochodzą od zewnętrznych dostawców lub systemów mainframe głównie w postaci płaskich plików, które będą przesyłane przez FTP przez użytkowników ETL.
# 2) Stoły robocze / pomostowe: Proces ETL tworzy tabele pomostowe do swoich celów wewnętrznych. Skojarzenie tabel pomostowych z plikami prostymi jest znacznie łatwiejsze niż DBMS, ponieważ odczyty i zapisy w systemie plików są szybsze niż wstawianie i wysyłanie zapytań do bazy danych.
różnica między testami sit i uat
# 3) Przygotowanie do załadunku masowego: Po zakończeniu procesów wyodrębniania i transformacji, jeśli ładowanie zbiorcze w strumieniu nie jest obsługiwane przez narzędzie ETL (lub) Jeśli chcesz zarchiwizować dane, możesz utworzyć plik płaski. Te dane z pliku płaskiego są odczytywane przez procesor i ładują dane do systemu DW.
Pliki płaskie można tworzyć na dwa sposoby jako „Pliki płaskie o stałej długości” i „Pliki płaskie rozdzielane”. Pliki płaskie mogą być tworzone przez programistów pracujących dla systemu źródłowego.
Zobaczmy, jak przetwarzamy te płaskie pliki:
Przetwarzanie płaskich plików o stałej długości
Ogólnie rzecz biorąc, płaskie pliki mają kolumny o stałej długości, dlatego nazywane są również pozycyjnymi plikami płaskimi. Poniżej znajduje się układ pliku płaskiego, który pokazuje dokładne pola i ich pozycje w pliku.
Nazwa pola | Długość | Początek | Koniec | Rodzaj | Komentarze |
---|---|---|---|---|---|
Imię | 10 | 1 | 10 | Tekst | Imię klienta |
Drugie imię | 5 | jedenaście | piętnaście | Tekst | Drugie imię klienta |
Nazwisko | 10 | 16 | 25 | Tekst | Nazwisko klienta |
Układ zawiera nazwa pola, długość, pozycja początkowa w którym zaczyna się znak pola, pozycja końcowa, na której kończy się znak pola, typ danych jako tekst, liczba itp. oraz ewentualne komentarze.
W zależności od pozycji danych zespół testujący ETL zweryfikuje dokładność danych w płaskim pliku o stałej długości.
Przetwarzanie rozdzielonych plików płaskich
W rozdzielanych plikach płaskich każde pole danych jest oddzielone ogranicznikami. Ten separator wskazuje początkową i końcową pozycję każdego pola. Ogólnie jako separator używany jest przecinek, ale można użyć dowolnego innego symbolu lub zestawu symboli.
Pliki rozdzielane mogą mieć rozszerzenie .CSV (lub). Rozszerzenie TXT (lub) bez rozszerzenia. Programiści, którzy tworzą pliki ETL, wskażą rzeczywisty symbol separatora, aby przetworzyć ten plik. W rozdzielanym układzie plików pierwszy wiersz może reprezentować nazwy kolumn.
Tak jak w przypadku pozycyjnych plików płaskich, zespół testujący ETL wyraźnie potwierdzi dokładność rozdzielonych plików płaskich.
Cel miejsca postoju
Głównym celem obszaru przemieszczania jest tymczasowe przechowywanie danych dla procesu ETL. Miejsce postoju to zaplecze systemu DW. Architekt ETL decyduje, czy przechowywać dane w obszarze przejściowym, czy nie.
Inscenizacja pomoże bardzo szybko uzyskać dane z systemów źródłowych. Jednocześnie w przypadku awarii systemu DW nie trzeba ponownie rozpoczynać procesu, gromadząc dane z systemów źródłowych, jeśli dane pomostowe już istnieją.
Oto powody, dla których po procesie ekstrakcji danych należy umieścić dane w systemie DW:
# 1) Możliwość odzyskania: Wypełnione tabele pomostowe będą przechowywane w samej bazie danych DW (lub) mogą być przenoszone do systemów plików i mogą być przechowywane oddzielnie. W pewnym momencie dane przemieszczania mogą działać jako dane odzyskiwania, jeśli jakakolwiek transformacja lub krok ładowania nie powiedzie się.
Mogą istnieć szanse, że system źródłowy nadpisał dane używane dla ETL, dlatego przechowywanie wyodrębnionych danych w pomostach pomaga nam w uzyskaniu wszelkich informacji.
# 2) Kopia zapasowa: Trudno jest wykonać kopię zapasową ogromnych ilości tabel bazy danych DW. Ale kopie zapasowe są niezbędne do każdego odzyskiwania po awarii. Dlatego jeśli masz dane pomostowe, które są wyodrębnione, możesz uruchomić zadania w celu transformacji i załadowania, a tym samym uszkodzone dane mogą zostać ponownie załadowane.
Aby utworzyć kopię zapasową danych przemieszczania, można często przenosić dane przemieszczania do systemów plików, aby można je było łatwo skompresować i przechowywać w sieci. W razie potrzeby wystarczy zdekompresować pliki, załadować je do tabel pomostowych i uruchomić zadania, aby ponownie załadować tabele DW.
# 3) Audyt: Czasami w systemie ETL może mieć miejsce audyt w celu sprawdzenia powiązania danych między systemem źródłowym a systemem docelowym. Audytorzy mogą zweryfikować oryginalne dane wejściowe z danymi wyjściowymi w oparciu o reguły transformacji.
Dane przejściowe i ich kopia zapasowa są tutaj bardzo pomocne, nawet jeśli system źródłowy ma dostępne dane, czy nie. Ponieważ audyt może mieć miejsce w dowolnym momencie i w dowolnym okresie obecnych (lub) przeszłych danych. Architektura miejsca postoju powinna być dobrze zaplanowana.
Projektowanie strefy postojowej
W hurtowni danych dane obszaru przemieszczania można zaprojektować w następujący sposób:
Przy każdym nowym ładowaniu danych do tabel pomostowych istniejące dane można usunąć (lub) zachować jako dane historyczne w celach informacyjnych. Usunięcie danych nosi nazwę „przejściowego obszaru przemieszczania”.
Jeśli dane są przechowywane jako historia, nazywa się to „trwałym obszarem przejściowym”. Możesz również zaprojektować strefę przejściową z kombinacją dwóch powyższych typów, która jest „hybrydowa”.
Oto podstawowe zasady, które należy znać podczas projektowania strefy przejściowej:
- Tylko zespół ETL powinien mieć dostęp do obszaru przemieszczania danych. Zapytanie o dane przemieszczania jest ograniczone do innych użytkowników.
- Tabele w obszarze pomostowym mogą być dodawane, modyfikowane lub usuwane przez architekta danych ETL bez angażowania innych użytkowników. Ponieważ obszar przemieszczania nie jest obszarem prezentacji do generowania raportów, działa po prostu jako stół warsztatowy.
- Architekt ETL powinien oszacować miarę przechowywania danych w obszarze pomostowym, aby przekazać szczegóły administratorom DBA i OS. Administratorzy przydzielą miejsce na przemieszczanie baz danych, systemów plików, katalogów itp.
Jeśli obszar pomostowy i baza danych DW korzystają z tego samego serwera, możesz łatwo przenieść dane do systemu DW. Jeśli serwery są różne, użyj łączy FTP (lub) z bazą danych.
Przepływ procesu ETL
Standardowy cykl ETL będzie przechodził przez poniższe kroki procesu:
- Rozpocznij cykl ETL, aby uruchamiać zadania w kolejności.
- Upewnij się, że wszystkie metadane są gotowe.
- Cykl ETL pomaga wyodrębnić dane z różnych źródeł.
- Sprawdź poprawność wyodrębnionych danych.
- Jeśli używane są tabele pomostowe, cykl ETL ładuje dane do przemieszczania.
- ETL wykonuje transformacje, stosując reguły biznesowe, tworząc agregaty itp
- Jeśli pojawią się jakiekolwiek awarie, cykl ETL będzie o tym informował w formie raportów.
- Następnie cykl ETL ładuje dane do tabel docelowych.
- Wcześniejsze dane, które muszą być przechowywane w celach archiwalnych, są archiwizowane.
- Pozostałe dane, które nie muszą być przechowywane, są czyszczone.
Schemat przebiegu procesu ETL:
Wniosek
W tym samouczku poznaliśmy główne koncepcje procesu ETL w hurtowni danych. Do tej pory powinieneś być w stanie zrozumieć, czym jest wyodrębnianie danych, transformacja danych, ładowanie danych i przepływ procesu ETL.
Przeczytaj nadchodzący samouczek, aby dowiedzieć się więcej o testowaniu hurtowni danych !!
=> Odwiedź tutaj, aby zapoznać się z ekskluzywną serią hurtowni danych.
rekomendowane lektury
- Samouczek dotyczący testowania hurtowni danych z przykładami | Przewodnik po testach ETL
- 10 najlepszych narzędzi do mapowania danych przydatnych w procesie ETL (LISTA 2021)
- Samouczek testowania hurtowni danych ETL (kompletny przewodnik)
- Eksploracja danych: proces, techniki i główne problemy w analizie danych
- Proces wyszukiwania danych: modele, etapy procesu i związane z nim wyzwania
- ETL Pytania i odpowiedzi podczas rozmowy kwalifikacyjnej testującej
- 10 najlepszych narzędzi testowych ETL w 2021 r
- 10 najpopularniejszych narzędzi hurtowni danych i technologii testowania