Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Önemli
Bu özellik Beta sürümündedir. Bunu kullanmak için, çalışma alanı yöneticisinin Önizlemeler sayfasından aracı kod dönüştürücüsü açması gerekir. Bkz. Azure Databricks önizlemelerini yönetme.
Aracı kod dönüştürücüsü, mevcut SQL'i T-SQL, Snowflake, Redshift, Oracle, BigQuery ve Teradata gibi diyalektlerden Azure Databricks üzerinde çalışan ANSI SQL'e dönüştürmek için Genie Code kullanır. Çalışmanızı bir geçiş projesinde düzenlersiniz; burada dönüştürücü her kaynak betiği çözümler, dönüştürülen çıkışı doğrular ve sonuçları çalışma alanı klasörüne yazmadan önce hataları yinelemeli olarak düzeltir.
Etmen tabanlı kod dönüştürücüsü, iş yüklerini mevcut veri ambarlarından ve ETL araçlarından Azure Databricks’e taşımaya yönelik Databricks araç setinin bir parçasıdır. Bir geçiş projesinde çalışmaları düzenleyip izlerken kaynak SQL’inizi dönüştürür.
Nasıl çalışır?
Çalışma alanınızda bir geçiş projesi oluşturarak bir dönüştürme başlatırsınız. Proje, her dosyanın durumunu izler ve geçişi yönetmek için size tek bir yer sağlar.
Bir dönüştürme çalıştırdığınızda Genie Code, geçiş becerisini çağırır ve dosyaları eşzamanlı olarak dönüştüren alt aracıları dağıtır. Her alt aracı kaynak diyalektini analiz eder, ANSI SQL eşdeğerini oluşturur, sonucu doğrular ve başarısız olan bölümleri yeniden denenir. Dönüştürülen dosyalar doğrudan proje için belirttiğiniz çalışma alanı klasörüne yazılır.
Genie Code konuşmasında komutunu kullanarak /migrate proje olmadan tek bir dosya veya klasörü de dönüştürebilirsiniz.
Requirements
- Beta sürümündeki etmen tabanlı kod dönüştürücü için etkinleştirilmiş bir çalışma alanı. Çalışma alanı yöneticisi , Önizlemeler sayfasından özelliği etkinleştirir. Bkz. Azure Databricks önizlemelerini yönetme.
- Çalışma alanı dosyaları olarak karşıya yüklenen veya düzenleyicide açılan mevcut SQL dosyalarınız çalışma alanınızda erişilebilir olmalıdır.
- Çalışma alanınız Genie Code gereksinimlerini karşılamalıdır. Bkz . Genie Code.
Desteklenen kaynaklar ve sınırlamalar
Dönüştürücü aşağıdaki kaynak diyalektleri destekler:
- T-SQL
- Snowflake SQL
- Redshift SQL
- Oracle
- BigQuery
- Teradata
Dönüştürücü ANSI SQL'i hedefler. Her dönüştürme için aşağıdaki sınırlar geçerlidir:
- Toplu işlem en fazla 300 dosya içerebilir.
- Betik en fazla 1.000 satır içerebilir.
- Teradata BTEQ betikleri henüz desteklenmiyor.
Var olan SQL kodunu dönüştürme
Aşağıdaki adımlarda, geçiş projesinde var olan SQL'in nasıl dönüştürüldüğü açıklanmaktadır.
1. Adım: Kaynak dosyaları yükleyin
Mevcut SQL dosyalarınızı (.sql) çalışma alanı dosya tarayıcısını kullanarak karşıya yükleyin veya bir komut dosyaları dizinini toplu olarak karşıya yüklemek için Databricks CLI'yi kullanın.
2. Adım: Geçiş projesi oluşturma
Çalışma alanınızdan bir geçiş projesi oluşturun:
-
>
Geçiş projesi'ne tıklayın. - Proje için bir Ad girin.
- Kaynak diyalektini ve Hedef çerçeveyi seçmek için açılan seçicileri kullanın.
- Hedef Hedef klasörün dosya yolunu girin. Kullanılabilir çalışma alanı klasörleri listesinden bir hedef konum seçmek için Gözat'a tıklayın.
- (İsteğe bağlı) Projenin kökenini açıklayan bir Köken dosyasının yolunu girin. Çalışma alanınızdaki dosya listesinden bir dosya seçmek için Browse'a tıklayın.
- Oluştur'utıklayın.
3. Adım: Projenize dosya ekleme
Yeni projede:
- Dosya ekle>+ Dosya ekle'ye tıklayın.
- Çalışma alanınızdan kaynak klasörü veya dosyayı seçin.
Proje her dosyayı dosya türü, satır sayısı ve dönüştürme durumuyla listeler.
4. Adım: Kod karmaşıklığını ve kökenini gözden geçirme (isteğe bağlı)
Lakebridge Analyzer'ı çalıştırdıysanız kod karmaşıklığını ve kökenini gözden geçirmek için JSON çıkışını projeye yükleyin. Karmaşıklık değerlendirmesini açmak için bir kaynak dosyaya tıklayın ve birlikte taşımanız gereken birbirine bağımlı dosya ve tabloları gösteren bir bağımlılık grafiğini açmak için Lineage'a tıklayın. Çözümleyici'yi çalıştırma yönergeleri için bkz. Lakebridge Analyzer kılavuzu.
5. Adım: Dönüştürmeyi çalıştırma
Dönüştürülecek dosyaları seçin ve Çalıştır'a tıklayın. Genie Code bir konuşma açar, geçiş becerisini çağırır ve dosyaları eşzamanlı olarak dönüştürmek için alt aracılar dağıtır. Dönüştürülen her dosya projede bağlantılı dosya olarak görünür. Dönüştürücü her dosyayı bir durumla işaretler:
- Yeşil: Başarıyla dönüştürüldü
- Sarı: gözden geçirilmesi gerekiyor
- Kırmızı: Dönüştürme başarısız oldu
- Gri: Devam ediyor
6. Adım: Dönüştürme sonuçlarını gözden geçirme
Dönüştürülmüş bir dosyaya tıklayarak, SQL düzenleyicisinde kaynak kodunun önerilen Databricks SQL'in yanında yer aldığı yan yana bir karşılaştırma görünümü açın. Önerilen tüm değişiklikleri kabul edin veya tek tek düzenlemeleri gözden geçirin ve kabul edin. Dönüştürülemeyen betikler için düzenleyicideki kodu düzenleyin veya Genie Code'dan belirli bölümleri yeniden doğrulamasını veya yeniden denemesini isteyin. Memnun olduktan sonra, dönüştürülen SQL'i bir not defterinde veya SQL düzenleyicisinde çalıştırarak Azure Databricks üzerinde çalıştığını onaylayın.
Özel beceri oluşturma (isteğe bağlı)
Özel beceriler, Genie Code'un her dönüştürme sırasında otomatik olarak uyguladığı iş kurallarını kodlamanıza olanak sağlar. Bunları özel veri türlerini işlemek, tercih edilen hedef desenleri zorunlu kılmak veya tekrar tekrar yaptığınız düzeltmeleri yakalamak için kullanın. Geçiş becerisi bir Genie Code becerisidir, bu nedenle bunu diğer becerilerle aynı şekilde oluşturabilir ve yönetebilirsiniz. Daha fazla ayrıntı için bkz. Genie Code’u ajan becerileriyle genişletme.
Genie Code ayarlarından veya Genie Code konuşmasından beceri oluşturabilirsiniz. Ayrıntılı yönergeler, örnekler veya destekleyici dosyalar içeren karmaşık beceriler için ayarlar yolunu kullanın. Hızlı, tek kurallı beceriler için sohbet yolunu kullanın.
Genie Code ayarları
Ayrıntılı yönergeler yazabilmeniz ve bir Git klasöründe sürüm oluşturabilmeniz için beceriyi dosya olarak oluşturun:
Genie Code panelinde
Ayarlar'ı ve ardından
Beceri klasörünü açın.
Çalışma alanı becerileri yolunda
Workspace/.assistant/skills/beceriniz için bir klasör oluşturun. Örneğin,Workspace/.assistant/skills/sql-migration/.Beceri klasöründe, gerekli ön madde ve dönüştürme kurallarınızı içeren bir
SKILL.mddosya oluşturun. Örneğin:--- 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, bir sonraki dönüştürme çalıştırmanızda bu beceriyi edinir.
Genie Code sohbeti
Kodlamak istediğiniz dönüştürme kuralını açıklayın ve Genie Code'dan bunu kaydetmesini isteyin:
Tip
Always convert our custom type MYDATE to TIMESTAMP_NTZ. Save this as a custom migration skill.
Genie Code beceriyi oluşturup kaydeder ve çalışma alanında gelecekteki dönüşümlere uygular.
Etkin becerileri görüntülemek için:
Tip
Show me my migration skills
Bir beceriyi kaldırmak için:
Tip
Delete the migration skill for [description]
Çalışma alanı becerileri çalışma alanı düzeyinde depolanır ve çalışma alanında tüm kullanıcılar arasında paylaşılır.
Test ipuçları
Dönüştürücü, aracılı döngüsünün bir parçası olarak her bir kaynak betiği analiz eder, dönüştürülen çıkışın söz dizimsel olarak geçerli ve kaynağa benzer olduğunu doğrular ve sonuçları yazmadan önce başarısız olan bölümleri yinelemeli olarak düzeltir. Aşağıdaki ipuçları, çıktıyı gözden geçirmenize ve güven kazanmanıza yardımcı olur:
- Toplu dönüştürme: Çoklu dosya dönüştürme işleminin uçtan uca çalıştığını doğrulamak için bir oturumda iki dosyadan beş dosyaya küçük bir toplu işlemi dönüştürün.
- Söz dizimi doğrulaması: Dönüştürme işleminden sonra, çıkışı databricks SQL düzenleyicisinde veya not defterinde çalıştırarak hatasız çalıştığını onaylayın.
-
Uç durumlar: Dönüştürücünün alışılmadık örüntüleri nasıl işlediğini görmek için, T-SQL pencere işlevleri, Snowflake
QUALIFYveya RedshiftLISTAGGgibi lehçeye özgü yapılar içeren bir betik ekleyin. - Anlamsal doğruluk: Özgün ve dönüştürülen sorguları eşdeğer test verileriyle çalıştırın ve sonuçları karşılaştırın. Çıktının yalnızca söz dizimsel olarak geçerli değil, aynı zamanda anlamsal olarak da doğru olduğunu doğrulayın.