Dodawanie transformacji SQL
Do zadań transformacji można dołączać tabele oparte na języku SQL. Transformacja SQL umożliwia wprowadzenie zapytania SQL SELECT do potoku w celu zdefiniowania złożonych lub prostych transformacji. Możesz zezwolić asystentowi SQL na wygenerowanie zapytania z promptu tekstowego przy użyciu generatywnej sztucznej inteligencji. Możesz także używać makr, aby dostosować zapytanie do wykonania, jeśli wykonywane jest ładowanie początkowe lub ładowanie przyrostowe.
Aby uzyskać więcej informacji na temat tworzenia zadania transformacji, zobacz Przekształcanie danych.
Dodawanie transformacji SQL
Aby dodać transformację SQL w zadaniu transformacji danych:
-
W sekcji Przekształcenie wybierz zestawy danych, które mają zostać włączone do zapytania, i kliknij Dodaj transformację SQL.
Zostanie wyświetlony komunikat Dodaj transformację SQL, w którym można wprowadzić ustawienia transformacji.
-
W polu Nazwa wpisz nazwę docelowego zestawu danych.
W polu Opis możesz dodać dłuższy opis.
-
W sekcji Materializacja wybierz, czy przekształcony wynik powinien zostać zmaterializowany, czy nie. Możesz zdecydować się na dziedziczenie tego ustawienia z ustawień zadania danych.
-
Ustawienie Wł. spowoduje utworzenie tabel i obsługę powiązanego przetwarzania ELT.
-
Opcja Wył. spowoduje utworzenie widoków, które dokonują transformacji na bieżąco.
-
-
Ładowanie przyrostowe pozwala dostosować zapytanie do przyrostowego ładowania danych przez zastosowanie filtrów lub innych warunków w celu zmniejszenia zestawu danych przetwarzanych za pomocą makr. Ładowanie przyrostowe jest dostępne tylko wtedy, gdy dane są materializowane w postaci tabel.
-
Kiedy ładowanie przyrostowe jest włączone
Pierwsze wykonanie zadania spowoduje wstępne załadowanie, wstawiając wszystkie wyniki zapytania do tabeli docelowej. Kolejne wykonania zadania będą dokonywać ładowań przyrostowych z wykorzystaniem filtrów lub określonych warunków zdefiniowanych dla przetwarzania przyrostowego. Podczas ładowania przyrostowego zadanie będzie przetwarzać dane jedynie w formie aktualizacji lub wstawiania, a usuwanie nie jest zarządzane.
-
Kiedy ładowanie przyrostowe jest wyłączone
Pierwsze wykonanie zadania spowoduje wstępne załadowanie, wstawiając wszystkie wyniki zapytania do tabeli docelowej. Kolejne wykonania będą przetwarzać wszystkie wyniki zapytania, porównując je z tabelą docelową i przetwarzając rekordy, które są nowe, zmienione lub usunięte.
InformacjaJeśli zapytanie wybierze wszystkie rekordy, które powinny istnieć w obiekcie docelowym, wyłącz opcję Ładowanie przyrostowe. Niewybrane rekordy zostaną usunięte w miejscu docelowym. -
-
Kliknij przycisk Dodaj, gdy wszystko będzie gotowe do utworzenia transformacji SQL.
Wyświetli się okno Edytuj transformację SQL.
-
W polu Zapytanie SELECT wpisz zapytanie, które zwróci tabelę opartą na SQL.
Zapytanie może odczytywać tylko wybrane źródłowe zestawy danych, ale możesz dodać więcej źródłowych zestawów danych za pomocą opcji Dodaj.
Możesz wybierać opcje Zestawy danych i Kolumny.
Możesz także użyć Asystenta SQL , aby wygenerować zapytanie za pomocą generatywnej sztucznej inteligencji. Więcej informacji zawiera temat Generowanie transformacji SQL z promptu tekstowego.
-
Jeśli używane jest ładowanie przyrostowe, możesz użyć makr, aby dostosować zapytanie do wykonania, jeśli wykonywane jest ładowanie początkowe lub ładowanie przyrostowe.
Więcej informacji zawiera temat Używanie makr w celu dostosowania zapytania do typu ładowania.
-
Kliknij Wyodrębnij parametry, aby przeanalizować parametry zapytania SELECT.
Parametry należy zamapować na obiekty źródłowe lub docelowe. Możesz mapować do następujących obiektów
-
Struktury historii typu 2 (_history)
-
Obecne struktury
-
Obiekty docelowe
Obiekty docelowe można mapować tylko wtedy, gdy parametr jest zdefiniowany w makrze przyrostowym.
WskazówkaMożesz zastąpić parametr referencją, aby uzyskać łatwiejsze do odczytania zapytanie. Zmień wartość w polu Parametr, a zmieni się także odwołanie w polu Zapytanie SELECT. -
-
Kliknij Opisz tabelę, aby uzyskać podgląd metadanych wyjściowych zapytania.
Możesz także wyświetlić podgląd wyników, korzystając z próbki danych.
-
Tabela musi mieć klucz główny.
Możesz także edytować ustawienia metadanych.
-
Ustaw klucze główne w kolumnie Klucz.
-
Określ, czy kolumna ma dopuszczać wartość null w kolumnie Nullowalne.
-
Wybierz kolumnę i kliknij Edytuj, aby ustawić nazwę kolumny, klucz, dopuszczalność wartość null i typ danych.
-
-
Jeśli wyniki zapytania będą zadowalające, kliknij OK. Zestaw danych jest teraz dodany do listy celów i możesz wyświetlić jego podgląd.
Podgląd danych
Możesz wyświetlić podgląd wyników, korzystając z próbki danych.
Aby móc przeglądać dane, musisz mieć przypisane następujące role:
-
Może przeglądać dane w przestrzeni, w której znajduje się połączenie.
-
Może wyświetlać w przestrzeni, w której znajduje się projekt.
Aby wyświetlić podgląd wyników:
-
Kliknij Wyświetl dane.
Wyświetlane są wyniki wykorzystujące próbkę danych. Ustawienie Liczba wierszy umożliwia określenie, ile wierszy danych należy uwzględnić w próbce.
Dane przykładowe można filtrować na dwa sposoby:
-
Użyj do filtrowania pobieranych danych przykładowych.
Jeżeli na przykład użyjesz filtru ${OrderYear}>2023, a Liczba wierszy będzie ustawiona na 10, otrzymasz próbkę 10 zamówień z 2024 roku.
-
Filtruj dane przykładowe według określonej kolumny.
Wpłynie to tylko na istniejące dane przykładowe. Jeżeli użyto do uwzględnienia tylko zamówień z roku 2024, a filtr kolumny ustawiono tak, by wyświetlać zamówienia z 2022 roku, wynikiem będzie pusta próbka.
Próbkę danych można sortować według określonej kolumny. Sortowanie wpłynie tylko na istniejące dane przykładowe. Jeżeli użyto do uwzględniania tylko zamówień z 2024 roku i odwrócono kolejność sortowania, dane przykładowe będą nadal zawierać tylko zamówienia z 2024 roku.
Używanie makr w celu dostosowania zapytania do typu ładowania
Jeśli używane jest ładowanie przyrostowe, możesz użyć makr, aby dostosować zapytanie do wykonania, jeśli wykonywane jest ładowanie początkowe lub ładowanie przyrostowe.
Wybierz makro i dodaj zapytanie w odpowiedniej klauzuli.
-
Q_RUN_INCREMENTALdodaje klauzulę, w której można umieścić zapytanie wykonywane tylko wtedy, gdy będzie wykonywane ładowanie przyrostowe.
-
Q_RUN_INITIAL_LOAD dodaje klauzulę, w której można umieścić zapytanie wykonywane dopiero po wykonaniu początkowego ładowania.
Nie musisz podawać pełnego zapytania w każdym makrze. Możesz dostosować lub dodać kod w zależności od zastosowania.
Zastosowanie: filtr przyrostowy wykorzystujący zakres dat:
W tym przypadku zestaw danych dotyczących zamówień trzeba przekształcić za pomocą niestandardowego kodu SQL. Ponieważ jest to duży zestaw danych, należy uwzględnić filtrowanie przyrostowe, aby mieć pewność, że ładowanie przyrostowe będzie obejmować tylko zamówienia z ostatnich 12 godzin.
To jest zapytanie podstawowe:
To jest filtr do zastosowania podczas przebiegu przyrostowego, w którym uwzględniane są tylko zamówienia dodane w ciągu ostatnich 12 godzin:
To jest pełne zapytanie z użyciem makra filtrującego i nazwami tabel zastąpionymi notacją ${TABLE}:
Wynikiem tego jest początkowe zapytanie ładowania:
I zapytanie ładowania przyrostowego:
Zastosowanie: filtr przyrostowy przy użyciu danych w miejscu docelowym:
W tym przypadku zestaw danych dotyczących zamówień trzeba przekształcić za pomocą niestandardowego kodu SQL. Ponieważ zamówienia to duży zestaw danych, należy uwzględnić filtrowanie przyrostowe, aby mieć pewność, że ładowanie przyrostowe będzie obejmować rekordy szczegółów zamówień, które są nowsze niż dane w tabeli docelowej. Chcesz także zaznaczyć, czy wiersz został przetworzony przez ładowanie początkowe, czy ładowanie przyrostowe.
To jest zapytanie podstawowe:
Jest to filtr, który należy zastosować podczas przebiegu przyrostowego. „ORDERS_DERIVED” to nazwa docelowego zestawu danych.
To jest pełne zapytanie z użyciem makra filtrującego i nazwami tabel zastąpionymi notacją ${TABLE}. LOADED_BY ma wartość INIT, jeśli ładowanie jest początkowe, i INCR, jeśli ładowanie jest przyrostowe:
Wynikiem tego jest początkowe zapytanie ładowania:
I zapytanie ładowania przyrostowego:
Najlepsze praktyki
-
Gdy dodajesz transformację SQL, klucz główny nie jest definiowany automatycznie. Dodaj klucz do zestawu danych w zakładce Zestaw danych.
-
Nie twórz ręcznie nagłówków kolumn w przekształconych danych wyjściowych.
-
Unikaj używania SELECT z *, ponieważ może to powodować zwracanie różnych kolumn przy każdym uruchomieniu zapytania. Jeśli nastąpiła zmiana w schemacie, zmień odpowiednio zapytanie i ponownie wykonaj operację Opisz tabelę. Następnie możesz edytować kolumny i dostosowywać tabele.