SQL'i aracı kod dönüştürücüsü ile dönüştürme

Ö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.

Dönüştürme iş akışının diyagramı: Kaynak dosyalar bir geçiş projesine eklenir, Genie Code alt parametreleri bunları dönüştürür ve doğrulanmış ANSI SQL bir çalışma alanı klasörüne yazılır.

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:

  1. Yeni Simge > Geçiş projesi'ne tıklayın.
  2. Proje için bir Ad girin.
  3. Kaynak diyalektini ve Hedef çerçeveyi seçmek için açılan seçicileri kullanın.
  4. 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.
  5. (İ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.
  6. Oluştur'utıklayın.

Proje adı, kaynak diyalekt, hedef çerçeve ve hedef klasör alanlarını gösteren yeni geçiş projesi iletişim kutusu.

3. Adım: Projenize dosya ekleme

Yeni projede:

  1. Dosya ekle>+ Dosya ekle'ye tıklayın.
  2. Ç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.

Eklenen kaynak dosyaları dosya türleri, satır sayısı ve dönüştürme durumlarıyla gösteren geçiş projesi tuvali.

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:

  1. Genie Code panelinde Dişli simgesine tıklayın.Ayarlar'ı ve ardından Simgedeki Ok'a tıklayın.Beceri klasörünü açın.

  2. Çalışma alanı becerileri yolunda Workspace/.assistant/skills/beceriniz için bir klasör oluşturun. Örneğin, Workspace/.assistant/skills/sql-migration/.

  3. Beceri klasöründe, gerekli ön madde ve dönüştürme kurallarınızı içeren bir SKILL.md dosya 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 QUALIFY veya Redshift LISTAGG gibi 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.

Ek kaynaklar