Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Genie Migrate, wcześniej konwerter kodu opartego na agentach, wykorzystuje Genie Code do konwersji istniejącego SQL z dialektów takich jak T-SQL, Snowflake, Redshift, Oracle, BigQuery i Teradata do kodu działającego na Azure Databricks. Organizujesz pracę w projekcie migracji i wybierasz format docelowy dla danych wyjściowych: SQL, aby generować zapytania SQL w Databricks, lub Notatniki, aby generować notatniki Databricks korzystające z interfejsu API DataFrame. Genie Migrate analizuje każdy skrypt źródłowy, weryfikuje przekonwertowany wynik i iteracyjnie poprawia błędy przed zapisem wyników do folderu workspace.
Genie Migrate jest częścią narzędzi Databricks do migracji obciążeń z istniejących hurtowni danych i narzędzi ETL do Azure Databricks. Konwertuje źródłowy kod SQL podczas organizowania i śledzenia pracy w projekcie migracji.
Jak to działa
Rozpoczniesz konwersję, tworząc projekt migracji w obszarze roboczym. Projekt śledzi stan każdego pliku i zapewnia jedno miejsce do zarządzania migracją.
Podczas konwersji Genie Code wdraża subagenty, które konwertują pliki równocześnie. Każdy subagent analizuje dialekt źródłowy i generuje odpowiednik kodu dla docelowego frameworka projektu (Databricks SQL lub notatnik Databricks). Następnie sprawdza przekonwertowany kod:
- Składnia: Sprawdza, czy przekonwertowany kod działa na Azure Databricks bez błędów.
-
Intencja semanticzna: Sprawdza, czy przekonwertowany kod zachowuje biznesową logikę źródła, na przykład te same joiny i
WHEREklauzule.
Gdy sprawdzenie się nie powiedzie, subagent poprawia kod i sprawdza go ponownie. Genie Code stosuje też twoje niestandardowe umiejętności podczas konwersji plików. Zobacz Stwórz niestandardową umiejętność (opcjonalnie). Przekonwertowane pliki są zapisywane bezpośrednio w folderze obszaru roboczego określonym dla projektu.
Można również przekonwertować pojedynczy plik lub folder bez projektu przy użyciu /migrate polecenia w konwersacji Genie Code.
Requirements
- Istniejące pliki SQL muszą być dostępne w obszarze roboczym, przekazywane jako pliki obszaru roboczego lub otwierane w edytorze.
- Obszar roboczy musi spełniać wymagania dotyczące kodu Genie. Zobacz Kod Genie.
- Aby korzystać z docelowego frameworka Notebooks lub analizy projektów oraz pochodzenia, które są w wersji beta, administrator obszaru roboczego musi włączyć opcję Migration Projects Experimental Features na stronie Previews. Zobacz Zarządzanie wersjami zapoznawczami usługi Azure Databricks.
Obsługiwane źródła i ograniczenia
Konwerter obsługuje następujące dialekty źródłowe:
- T-SQL
- Snowflake SQL
- Redshift SQL
- Oracle
- BigQuery
- Teradata
Tworząc projekt migracji, wybierz jeden z następujących docelowych frameworków:
- SQL: Zapytania Databricks SQL zgodne ze standardem ANSI.
-
Notebooki (beta): Notatniki Databricks korzystające z interfejsu API DataFrame, z użyciem
spark.sqldo logiki, która jest czytelniejsza w SQL.
Do każdej konwersji mają zastosowanie następujące limity:
- Partia może zawierać maksymalnie 300 plików.
- Skrypty teradata BTEQ nie są jeszcze obsługiwane.
Konwertowanie istniejącego kodu SQL
W poniższych krokach opisano sposób konwertowania istniejącego programu SQL w projekcie migracji.
Krok 1. Przekazywanie plików źródłowych
Przekaż istniejące pliki SQL (.sql) przy użyciu przeglądarki plików obszaru roboczego lub użyj interfejsu wiersza polecenia usługi Databricks , aby zbiorczo przekazać katalog skryptów.
Krok 2. Tworzenie projektu migracji
Utwórz projekt migracji z obszaru roboczego:
- Kliknij
>Projekt migracji. - Wprowadź nazwę projektu.
- Selektory listy rozwijanej umożliwiają wybranie dialektu źródłowego i platformy Target. Dla platformy docelowej wybierz SQL, aby generować zapytania SQL Databricks, lub Notebooks (Beta), aby generować notatniki Databricks.
- Wprowadź ścieżkę pliku do docelowego folderu Docelowego. Kliknij przycisk Przeglądaj , aby wybrać miejsce docelowe z listy dostępnych folderów obszaru roboczego.
- (Opcjonalnie) Wprowadź ścieżkę do pliku pochodzenia , który opisuje pochodzenie projektu. Kliknij przycisk Przeglądaj , aby wybrać plik z listy plików w obszarze roboczym.
- Kliknij pozycję Utwórz.
Krok 3. Dodawanie plików do projektu
W nowym projekcie:
- Kliknij pozycję Dodaj pliki>+ Dodaj pliki.
- Wybierz folder źródłowy lub plik z obszaru roboczego.
Projekt wyświetla listę każdego pliku z jego typem pliku, liczbą wierszy i stanem konwersji.
Krok 4. Przegląd złożoności i pochodzenia kodu (opcjonalnie)
Przeanalizuj projekt, aby przejrzeć złożoność kodu i zależności między plikami, zanim dokonasz konwersji. Analiza projektu i pochodzenie są w wersji beta. Aby z nich korzystać, administrator przestrzeni roboczej musi włączyć Eksperymentalne Funkcje Projektów Migracji na stronie Previews. Zobacz Zarządzanie wersjami zapoznawczami usługi Azure Databricks.
- W projekcie kliknij Analizuj wszystko. Jeśli projekt nie ma pochodzenia, domyślną akcją jest Analizuj wszystko. W przeciwnym razie wybierz Analizuj wszystko z rozwijanego menu przycisku. Analiza obejmuje każdy plik w projekcie, nawet jeśli wybierzesz pliki.
- Poczekaj, aż analiza się skończy. Aby anulować analizę bieżącą, kliknij Stop. Po zakończeniu analizy przycisk zmienia się na Konwertuj wszystko.
- Kliknij plik źródłowy, aby otworzyć jego ocenę złożoności, i kliknij Lineage , aby otworzyć wykres zależności, który pokazuje współzależne pliki i tabele, które musisz przenieść razem.
Krok 5. Uruchamianie konwersji
Aby przekonwertować konkretne pliki, zaznacz je i kliknij Konwertuj zaznaczone. Aby przekonwertować wszystkie pliki w projekcie, wyczyść zaznaczenie i kliknij Przekonwertuj wszystkie. Kod Genie otwiera konwersację, wywołuje umiejętności migracji i wdraża subagenty w celu jednoczesnego konwertowania plików. Każdy przekonwertowany plik jest wyświetlany jako połączony plik w projekcie. Konwerter oznacza każdy plik odpowiednim statusem:
- Zielony: pomyślnie przekonwertowano
- Żółty: wymaga przeglądu
- Czerwony: Konwersja nie powiodła się
- Szary: w toku
Krok 6. Przeglądanie wyników konwersji
W przypadku projektów SQL kliknij przekonwertowany plik, aby otworzyć porównanie różnic w widoku obok siebie w edytorze SQL, z kodem źródłowym obok proponowanego kodu Databricks SQL. Zaakceptuj wszystkie sugerowane zmiany lub przejrzyj i zaakceptuj poszczególne zmiany. W projektach Notebooks kliknij skonwertowany plik, aby otworzyć wygenerowany notatnik Databricks. W przypadku skryptów, które nie mogą dokonać konwersji, zmodyfikuj kod w edytorze lub poproś kod Genie o ponowne zweryfikowanie lub ponowienie próby określonych sekcji. Gdy będziesz zadowolony, uruchom przekonwertowany SQL lub notatnik, aby potwierdzić, że działa na Azure Databricks. Jeśli ten sam błąd pojawi się w kilku plikach, zapisz poprawkę w umiejętności niestandardowej i ponownie uruchom te pliki. Zobacz Tworzenie niestandardowej umiejętności (opcjonalnie).
Tworzenie niestandardowej umiejętności (opcjonalnie)
Niestandardowe umiejętności umożliwiają kodowanie reguł biznesowych, które Genie Code automatycznie stosuje podczas każdej konwersji. Służy do obsługi zastrzeżonych typów danych, wymuszania preferowanych wzorców docelowych lub przechwytywania poprawek, które są wykonywane wielokrotnie. Umiejętność migracji jest umiejętnością Genie Code, dzięki czemu możesz tworzyć i zarządzać nią w taki sam sposób, jak w przypadku każdej innej umiejętności. Aby uzyskać więcej informacji, zobacz Extend Genie Code with agent skills (Rozszerzanie kodu Genie za pomocą umiejętności agenta).
Nie musisz definiować wszystkich swoich umiejętności przed pierwszą konwersją leadów. Większość zasad, które umiejętność powinna uchwycić, staje się jasna dopiero po przejrzeniu pierwszych wyników. Typowy workflow to:
- Przekonwertuj reprezentatywny zestaw plików.
- Przejrzyj pliki, które wymagają przeglądu lub które nie przeszły, i szukaj powtarzających się błędów w plikach, takich jak ten sam nieobsługiwany typ danych, funkcja czy wzorzec nazewnictwa.
- Stwórz składnik umiejętności, który rejestruje poprawkę dla każdego powtarzającego się błędu.
- Zaznacz tylko pliki, których dotyczy problem, i kliknij Convert selected. Genie Code stosuje nową umiejętność do tych plików.
Powtarzaj ten cykl, konwertując kolejne części kodu. Genie Code stosuje każdą umiejętność do późniejszych konwersji w obszarze roboczym, więc jedna poprawka obejmuje inne pliki o tym samym wzorcu.
Możesz utworzyć umiejętności na podstawie ustawień kodu Genie lub konwersacji z kodem Genie. Użyj ścieżki ustawień, aby uzyskać złożone umiejętności, które zawierają szczegółowe instrukcje, przykłady lub pliki pomocnicze. Użyj trybu czatu w przypadku szybkich umiejętności opartych na jednej regule.
Ustawienia kodu Genie
Utwórz umiejętność w postaci pliku, aby móc opracowywać szczegółowe instrukcje i wersjonować ją w folderze Git:
W panelu Genie Code kliknij
Ustawienia, a następnie kliknij
Otwórz folder skills.
Utwórz folder dla swojej umiejętności w ścieżce umiejętności obszaru roboczego.
Workspace/.assistant/skills/Na przykładWorkspace/.assistant/skills/sql-migration/.W folderze umiejętności utwórz
SKILL.mdplik z wymaganym frontmatterem i regułami konwersji. Przykład:--- name: sql-migration description: Conversion rules to apply when migrating legacy SQL to ANSI SQL. --- Always convert the custom type MYDATE to TIMESTAMP_NTZ.
Genie Code uwzględnia tę umiejętność przy następnym uruchomieniu konwersji.
Czat z kodem Genie
Opisz regułę konwersji, którą chcesz zakodować, a następnie poproś kod Genie o zapisanie go:
Wskazówka
Always convert our custom type MYDATE to TIMESTAMP_NTZ. Save this as a custom migration skill.
Aplikacja Genie Code tworzy i rejestruje umiejętności i stosuje je w przypadku przyszłych konwersji w obszarze roboczym.
Aby wyświetlić aktywne umiejętności:
Wskazówka
Show me my migration skills
Aby usunąć umiejętność:
Wskazówka
Delete the migration skill for [description]
Umiejętności obszaru roboczego są przechowywane na poziomie obszaru roboczego i udostępniane wszystkim użytkownikom w obszarze roboczym.
Porady dotyczące testowania
W ramach pętli agenta konwerter analizuje każdy skrypt źródłowy, sprawdza, czy przekonwertowane dane wyjściowe są składniowo prawidłowe i semantycznie równoważne źródle, a iteracyjne naprawia sekcje, które kończą się niepowodzeniem przed zapisaniem wyników. Poniższe porady ułatwiają przeglądanie i uzyskiwanie zaufania do danych wyjściowych:
- Konwersja wsadowa: Przekonwertuj niewielką partię od dwóch do pięciu plików w jednej sesji, aby sprawdzić, czy konwersja wielu plików działa poprawnie od początku do końca.
- Walidacja składni: po konwersji uruchom dane wyjściowe w edytorze SQL usługi Databricks lub notesie, aby potwierdzić, że działa bez błędów.
-
Przypadki brzegowe: Dołącz skrypt z konstrukcjami specyficznymi dla dialektu, takimi jak funkcje okna w T-SQL, Snowflake
QUALIFYlub RedshiftLISTAGG, aby zobaczyć, jak konwerter radzi sobie z nietrywialnymi wzorcami. - Poprawność semantyczna: uruchom oryginalne i przekonwertowane zapytania względem równoważnych danych testowych i porównaj wyniki. Upewnij się, że dane wyjściowe są semantycznie poprawne, a nie tylko prawidłowe składniowo.