W tej połączonej ścieżce edukacyjnej utworzymy łańcuch ilustrujący sposób konwersji pliku XML do formatu CSV. Przyjrzymy się również sposobom porównywania zestawów danych w celu wyizolowania różnic.
| Główny cel edukacyjny | Złącze XML |
| Dodatkowe cele edukacyjne | Inteligentne filtry transformacji tabelarycznej, zmiana ogranicznika i zaawansowane polecenia zapytań |
| Wymagania wstępne | Konfigurowanie połączenia łącznika XML |
| Szablon pomocniczy | CLP | Dostęp do danych XML |
Krok 1: Utwórz łańcuch
- Dodaj nowy Łańcuch i nazwij go: CLP | Dostęp do danych XML .
- Utwórz dwie zmienne łańcuchowe w następujący sposób:
- W obszarze Zmienne łańcuchowe kliknij dwukrotnie znak plus (+).
- Użyj następujących nazw i wartości dla zmiennych:
- Zmienna XML
- Imię: cv-XML-Pracownik
- Wartość: https://cs-sftp-training-bucket.s3.amazonaws.com/cs-training/transformation-qs/employees.xml
- Zmienna CSV
- Imię: cv-CSV-Pracownik
- Wartość: https://cs-sftp-training-bucket.s3.amazonaws.com/cs-training/transformation-qs/employee_detail.csv
- Zmienna XML
- Ratujmy Łańcuch.
Krok 2: Pobierz dane w formacie CSV
Użyj łącznika HTTP, aby pobrać dane dotyczące liczby pracowników w formacie CSV. W kolejnych krokach pobierzemy podobne informacje o liczbie pracowników w formacie XML i porównamy zestawy danych, aby zidentyfikować różnice.
- Dodaj polecenie GET z łącznika HTTP do węzła startowego.
-
Skonfiguruj polecenie, używając następujących wartości:
Nazwa GET - Liczba pracowników w formacie CSV Nazwa użytkownika <leave blank> Hasło <leave blank> Certyfikat CA <leave blank> Certyfikat <leave blank> Klucz prywatny certyfikatu <leave blank> Pokaż odpowiedź Sprawdzone Adres URL cv-CSV-Pracownik Zmienna łańcuchowa Ciąg zapytania <leave blank> Typ zawartości tekst/csv Odpowiedź <leave blank> - Zapisz polecenie.
Krok 3: Pobierz dane w formacie XML
Użyj łącznika HTTP, aby pobrać dane dotyczące liczby pracowników w formacie XML. Jak wspomniano w kroku 2, w kolejnym kroku porównamy zbiór danych XML ze zbiorem danych CSV, aby zidentyfikować różnice.
- Dodaj polecenie GET z łącznika HTTP do łańcucha.
- Połącz węzeł początkowy (GET - liczba pracowników w formacie CSV) z poleceniem GET .
-
Skonfiguruj polecenie, używając następujących wartości:
Nazwa GET - Stan osobowy w formacie XML Nazwa użytkownika <leave blank> Hasło <leave blank> Certyfikat CA <leave blank> Certyfikat <leave blank> Klucz prywatny certyfikatu <leave blank> Pokaż odpowiedź Sprawdzone Adres URL cv-XML-Pracownik Zmienna łańcuchowa Ciąg zapytania <leave blank> Typ zawartości aplikacja/xml Odpowiedź <leave blank> - Zapisz polecenie.
Krok 4: Konwertuj plik XML do formatu rozdzielonego
Użyj łącznika XML do konwersji danych XML do formatu CSV, co umożliwi nam późniejsze wykorzystanie poleceń w łańcuchu, które oczekują danych w formacie rozdzielonym.
- Dodaj listę elementów do polecenia CSV z łącznika XML do łańcucha.
- Połącz polecenie GET - Liczba głów w formacie XML z poleceniem Lista elementów w formacie CSV .
- Skonfiguruj polecenie, używając następujących wartości:
- W przypadku parametru Plik wejściowy wybierz Dane wyjściowe odpowiedzi z polecenia GET - Liczba pracowników w formacie XML .
- Pozostaw parametr Tekst wejściowy pusty.
- W przypadku parametru Ścieżka do katalogu głównego wprowadź następujące informacje dotyczące koperty:
/employee_data/employee - Zaznacz pole wyboru parametru Podgląd wyniku .
-
W sekcji Kolumny kliknij przycisk Dodaj 12 razy.
W przypadku każdej dodanej kolumny wprowadź nazwę pola z rekordu danych podglądniętego w poprzednim kroku w polach Nazwa kolumny i XPath . Przykład
: emp_id⚠️ Pole XPath rozróżnia wielkość liter i musi być zgodne z wielkością liter w kopercie.
- W przypadku parametru Rozdzielacz wielowartościowy wprowadź pionową kreskę (|).
- Zapisz polecenie.
- Opublikuj, wykonaj i uruchom łańcuch.
-
Przejrzyj kartę Dziennik węzła polecenia Lista elementów do CSV - Wszyscy pracownicy i potwierdź, że wyświetlana jest lista pracowników.
⚠️ Nie pomijaj wykonania ani przeglądu wyników tego kroku, ponieważ kopia tego polecenia zostanie utworzona w łańcuchu, a wszelkie błędy będzie trzeba później poprawić w wielu wystąpieniach polecenia.
Krok 5: Zmień przekonwertowany kod XML z rozdzielonego tabulatorami na rozdzielony przecinkami
Użyj łącznika Tabular Transformation Connector, aby przekonwertować dane wyjściowe wygenerowane w wyniku konwersji XML z formatu rozdzielonego tabulatorami na format rozdzielony przecinkami.
- Dodaj polecenie Zmień ogranicznik z łącznika Transformacja tabelaryczna do łańcucha.
- Połącz listę elementów z plikiem CSV - polecenie Wszyscy pracownicy z poleceniem Zmień ogranicznik .
- Skonfiguruj polecenie, używając następujących wartości:
- Nazwa: Zmień rozdzielacz - Wszyscy pracownicy
- Plik wejściowy : Plik wyjściowy przekonwertowany z listy elementów do pliku CSV — polecenie Wszyscy pracownicy
- Ogranicznik wejściowy: \t
- Ogranicznik wyjściowy: , (przecinek)
- Zapisz polecenie.
Krok 6: Porównaj zestawy danych CSV i XML, aby zidentyfikować różnice
Użyj Zaawansowanego zapytania , aby systematycznie identyfikować różnice między zestawami danych XML i natywnymi zestawami danych CSV. W tym przykładzie zidentyfikuj wszystkie rekordy w zestawie danych XML, które różnią się od zestawu danych CSV lub których brakuje. Wszelkie dodatkowe rekordy znalezione w zestawie danych CSV, których nie ma w zestawie danych XML, nie zostaną zidentyfikowane w ramach tego ćwiczenia.
- Dodaj polecenie Advanced Query z łącznika Tabular Transformation do łańcucha.
- Połącz polecenie Change Delimiter - All Employees z poleceniem Advanced Query .
- Nazwij polecenie: Zapytanie zaawansowane - Wszyscy pracownicy .
- W sekcji Tabele kliknij przycisk Dodaj , aby dodać drugą kartę.
- Dla pierwszej tabeli:
- Określ wynik CSV z
- Dla pierwszej tabeli:
- Podaj XML jako Nazwę tabeli .
- W przypadku drugiej tabeli:
- Określ Dane wyjściowe odpowiedzi z polecenia GET - Liczba osób w formacie CSV .
Podaj CSV jako Nazwę tabeli . - W parametrze zapytania wprowadź następujące dane:
Wybierz * z XML, z wyjątkiem Wybierz * z CSV - W polach Ogranicznik wejściowy i Ogranicznik wyjściowy określ Przecinek .
- Zaznacz opcję Podgląd wyników .
- Określ Dane wyjściowe odpowiedzi z polecenia GET - Liczba osób w formacie CSV .
- Zapisz polecenie.
- Opublikuj, wykonaj i uruchom łańcuch.
-
Przejrzyj kartę Dziennik węzła polecenia Zaawansowane zapytanie - Wszyscy pracownicy i potwierdź, że identyfikatory pracowników odpowiadają poniższym w przypadku rekordów zwróconych przez zapytanie.
Identyfikator pracownika 01-6875791 10-4199621 38-3932553 63-0417180 78-3600453 85-6818050 97-2828467
Krok 7: Dodaj grupę poleceń
Dodaj grupę poleceń do łańcucha, aby lepiej zorganizować polecenia. Choć wykonanie tego kroku jest wymagane w ramach tego ćwiczenia, nie jest to wymóg techniczny dla Łańcucha. Ten krok ma na celu jedynie zilustrowanie możliwości organizowania węzłów Łańcucha.
- Dodaj Grupę poleceń do łańcucha.
- Połącz polecenie GET - Format Headcount in XML z sekcją Wejście grupy poleceń.
- Kliknij grupę poleceń, a następnie wybierz ikonę kroplomierza, aby zmienić kolor poleceń na czerwony .
- Nadaj grupie nazwę: Aktywni pracownicy .
Krok 8: Filtruj dane CSV tylko dla aktywnych pracowników
Użyj inteligentnego filtra, aby zachować tylko te rekordy pracownika, w których jest on aktywny. Definiując filtr, zakładamy, że pole zakończone (zakończone) jest puste i oznacza, że pracownik jest aktywny.
- Dodaj polecenie Wiersze inteligentnego filtra z Łącznika transformacji tabelarycznej do łańcucha.
- Połącz grupę Start z grupy poleceń z poleceniem Inteligentny filtr .
- Skonfiguruj polecenie, używając następujących wartości:
- Nazwij polecenie: Wiersze inteligentnego filtra - Dane CSV - Aktywni pracownicy .
- W przypadku parametru Plik wejściowy wybierz Dane wyjściowe odpowiedzi z polecenia GET - Liczba pracowników w formacie CSV.
- Pozostaw parametr pliku wyjściowego pusty .
- Określ Przecinek jako Rozdzielacz .
- W sekcji Filtry wykonaj następujące kroki:
- Kliknij
- W parametrze Nazwa kolumny wprowadź termin .
- Zaznacz opcję Bez uwzględniania wielkości liter .
- Z listy rozwijanej Warunek wybierz Równa się .
- W parametrze Porównaj tekst wprowadź prawda .
- Zaznacz opcję Nie .
- Pozostaw pole wyboru Przytnij niezaznaczone.
Ten filtr będzie teraz identyfikował każdy rekord, w którym pole „termed” nie zawiera wartości true (czyli zawiera wartość „false” lub jest puste).
osiągnąć, zaznacz pole wyboru Odwrotność .
Krok 8: Filtruj dane CSV tylko dla aktywnych pracowników
Użyj inteligentnego filtra, aby zachować tylko te rekordy pracownika, w których jest on aktywny. Definiując filtr, zakładamy, że pole „zakończony” („termined”) jest puste i oznacza, że pracownik jest aktywny.
- Dodaj polecenie Wiersze inteligentnego filtra z Łącznika transformacji tabelarycznej do łańcucha.
- Połącz grupę Start z grupy poleceń z poleceniem Inteligentny filtr .
- Skonfiguruj polecenie, używając następujących wartości:
- Nazwij polecenie: Wiersze inteligentnego filtra - Dane CSV - Aktywni pracownicy .
- W przypadku pliku wejściowego wybierz plik wyjściowy odpowiedzi z polecenia GET - Liczba głów w formacie CSV.
- Pozostaw parametr pliku wyjściowego pusty .
- Określ Przecinek jako Rozdzielacz .
- W sekcji Filtry
- Kliknij
- W parametrze Nazwa kolumny wprowadź termin .
- Zaznacz opcję Bez uwzględniania wielkości liter .
- Z listy rozwijanej Warunek wybierz Równa się .
- W parametrze Porównaj tekst wprowadź prawda .
- Zaznacz opcję Nie .
- Pozostaw pole wyboru Przytnij niezaznaczone.
Ten filtr będzie teraz identyfikował każdy rekord, w którym pole „termed” nie zawiera wartości true (czyli zawiera wartość „false” lub jest puste).
Krok 9: Filtrowanie danych XML podczas konwersji do formatu rozdzielonego
W tym kroku filtrujemy dane XML, konwertując je do formatu rozdzielonego, aby zidentyfikować tylko aktywnych pracowników. Następnie ten zestaw danych zostanie porównany z przefiltrowanym zestawem danych CSV w celu zidentyfikowania różnic.
- Skopiuj listę elementów do pliku CSV - polecenie Wszyscy pracownicy .
- Połącz grupę Start z grupy poleceń z listą elementów do pliku CSV - Wszyscy pracownicy (kopiuj) .
- Edytuj polecenie, nadając mu nazwę: Lista elementów do pliku CSV - Aktywni pracownicy .
- W parametrze „Ścieżka do katalogu głównego” wprowadź następujące polecenie.
/employee_data/employee[termed!='true']
Teraz zidentyfikuje to każdy rekord, w którym pole „termed” nie zawiera wartości true (czyli zawiera wartość „false” lub jest puste). - Zapisz polecenie.
Krok 10: Zmień filtrowane dane XML na rozdzielone przecinkami
Podobnie jak w przypadku pełnej listy pracowników, przefiltrowaną listę aktywnych pracowników, która została przekonwertowana z formatu XML na format rozdzielony tabulatorami, należy przekonwertować na format rozdzielony przecinkami.
- Skopiuj polecenie Zmień ogranicznik - Wszyscy pracownicy .
- Połącz listę elementów z plikiem CSV - Aktywni pracownicy z poleceniem Zmiana ogranicznika elementu - Wszyscy pracownicy (kopiuj) .
- Skonfiguruj polecenie, używając następujących wartości.
- Nazwa: Zmień separator - Aktywni pracownicy.
- Zmodyfikuj parametr Plik wejściowy , aby użyć polecenia Przekonwertowany plik Wyjście z listy elementów do pliku CSV - Aktywni pracownicy .
- Zapisz polecenie.
Krok 11: Sprawdź różnice w przypadku aktywnych pracowników
Podobnie jak w przypadku pełnej listy pracowników, przefiltrowaną listę aktywnych pracowników, która została przekonwertowana z formatu XML na format rozdzielony tabulatorami, należy przekonwertować na format rozdzielony przecinkami.
- Skopiuj polecenie Zapytanie zaawansowane - Wszyscy pracownicy .
- Połącz wyjście z grupy poleceń z poleceniem Zaawansowane zapytanie - Wszyscy pracownicy (kopiuj) . Połączenie polecenia Zaawansowane zapytanie - Wszyscy pracownicy z grupą Out gwarantuje, że wszystko, co jest połączone z grupą Start, zostanie zakończone przed przejściem łańcucha do poleceń w grupie Out.
- Skonfiguruj polecenie, używając następujących wartości:
- Nazwa: Zapytanie zaawansowane - Aktywni pracownicy.
-
W sekcji Tabele zmodyfikuj parametr Plik dla obu tabel, używając następujących wartości:
Tabela Plik XML Wynik CSV z polecenia Change Delimiter - Aktywni pracownicy CSV Dane wyjściowe wiersza inteligentnego filtra z wierszy inteligentnego filtra — tylko aktywne, polecenie danych CSV
- Zapisz polecenie.
Krok 12: Przetestuj ćwiczenie
Teraz, gdy łańcuch jest gotowy, można przetestować wynik.
- Opublikuj Łańcuch.
- Kliknij Wykonaj , a następnie wybierz Uruchom łańcuch .
- Po zakończeniu działania łańcucha kliknij węzeł Zapytanie zaawansowane – Aktywni pracownicy .
- Na
-
Kliknij kartę Dzienniki i sprawdź, czy identyfikatory pracowników odpowiadają poniższym rekordom zwróconym przez zapytanie.
Identyfikator pracownika 01-6875791 63-0417180 78-3600453 85-6818050
Aby dowiedzieć się więcej o transformacji danych za pomocą łańcuchów, zapoznaj się z Połączonymi ścieżkami edukacyjnymi – Wprowadzenie do transformacji !