Aracılığıyla paylaş


Databricks Varlık Paketleri ile Delta Live Tables işlem hatları geliştirme

Yalnızca paket olarak da bilinen Databricks Varlık Paketleri, Delta Live Tables işlem hatları gibi Azure Databricks kaynaklarını program aracılığıyla doğrulamanıza, dağıtmanıza ve çalıştırmanıza olanak tanır. Bkz . Databricks Varlık Paketleri nedir?.

Bu makalede, işlem hattını program aracılığıyla yönetmek için bir paket oluşturma işlemi açıklanır. Bkz . Delta Live Tables nedir?. Paket, Python için Databricks Varlık Paketleri varsayılan paket şablonu kullanılarak oluşturulur ve bu şablon, işlem hattı ve çalıştırılacak işin tanımıyla eşleştirilmiş bir not defterinden oluşur. Ardından Dağıtılan işlem hattını Azure Databricks çalışma alanınızda doğrular, dağıtır ve çalıştırırsınız.

İpucu

Paketlere taşımak istediğiniz Azure Databricks kullanıcı arabirimi veya API kullanılarak oluşturulmuş mevcut işlem hatlarınız varsa, bunları bir paketin yapılandırma dosyalarında tanımlamanız gerekir. Databricks, önce aşağıdaki adımları kullanarak bir paket oluşturmanızı ve ardından paketin çalışıp çalışmadığını doğrulamanızı önerir. Daha sonra pakete ek tanımlar, not defterleri ve diğer kaynaklar ekleyebilirsiniz. Bkz. Pakete mevcut işlem hattı tanımını ekleme.

Gereksinimler

  • Databricks CLI sürüm 0.218.0 veya üzeri. Yüklü Databricks CLI sürümünüzü denetlemek için komutunu databricks -vçalıştırın. Databricks CLI'yı yüklemek için bkz . Databricks CLI'yı yükleme veya güncelleştirme.
  • Uzak çalışma alanında çalışma alanı dosyaları etkinleştirilmelidir. Bkz . Çalışma alanı dosyaları nedir?.

(İsteğe bağlı) Yerel işlem hattı geliştirmeyi desteklemek için Python modülü yükleme

Databricks, IDE'nizde kod yazarken söz dizimi denetimi, otomatik tamamlama ve veri türü denetimi sağlayarak Delta Live Tables işlem hattı kodunu yerel geliştirmenize yardımcı olacak bir Python modülü sağlar.

Yerel geliştirme için Python modülü PyPi'de kullanılabilir. Modülü yüklemek için bkz . Delta Live Tabloları için Python saplaması.

Proje şablonu kullanarak paket oluşturma

Python için Azure Databricks varsayılan paket şablonunu kullanarak paketi oluşturun. Bu şablon, özgün veri kümesindeki verileri filtreleyen Delta Live Tables işlem hattını tanımlayan bir not defterinden oluşur. Paket şablonları hakkında daha fazla bilgi için bkz . Databricks Varlık Paketi proje şablonları.

Sıfırdan bir paket oluşturmak istiyorsanız bkz . El ile paket oluşturma.

1. Adım: Kimlik doğrulamayı ayarlama

Bu adımda, geliştirme makinenizdeki Databricks CLI ile Azure Databricks çalışma alanınız arasında kimlik doğrulamasını ayarlarsınız. Bu makalede, OAuth kullanıcıdan makineye (U2M) kimlik doğrulamasını ve kimlik doğrulaması için adlı DEFAULT ilgili Azure Databricks yapılandırma profilini kullanmak istediğiniz varsayılır.

Not

U2M kimlik doğrulaması, bu adımları gerçek zamanlı olarak denemek için uygundur. Tam otomatik iş akışları için Databricks bunun yerine OAuth makineden makineye (M2M) kimlik doğrulamasını kullanmanızı önerir. Kimlik doğrulaması'nda M2M kimlik doğrulaması kurulum yönergelerine bakın.

  1. Her hedef çalışma alanı için aşağıdaki komutu çalıştırarak yerel olarak OAuth belirteci yönetimini başlatmak için Databricks CLI'sini kullanın.

    Aşağıdaki komutta değerini çalışma alanı başına Azure Databricks URL'nizle değiştirin<workspace-url>, örneğinhttps://adb-1234567890123456.7.azuredatabricks.net.

    databricks auth login --host <workspace-url>
    
  2. Databricks CLI, Azure Databricks yapılandırma profili olarak girdiğiniz bilgileri kaydetmenizi ister. Önerilen profil adını kabul etmek için basın Enter veya yeni veya mevcut bir profilin adını girin. Girdiğiniz bilgilerle aynı ada sahip mevcut tüm profillerin üzerine yazılır. Birden çok çalışma alanında kimlik doğrulama bağlamınızı hızla değiştirmek için profilleri kullanabilirsiniz.

    Mevcut profillerin listesini almak için, ayrı bir terminalde veya komut isteminde Databricks CLI'yi kullanarak komutunu databricks auth profilesçalıştırın. Belirli bir profilin mevcut ayarlarını görüntülemek için komutunu databricks auth env --profile <profile-name>çalıştırın.

  3. Web tarayıcınızda, Azure Databricks çalışma alanınızda oturum açmak için ekrandaki yönergeleri tamamlayın.

  4. Profilin geçerli OAuth belirteci değerini ve belirtecin yaklaşan süre sonu zaman damgasını görüntülemek için aşağıdaki komutlardan birini çalıştırın:

    • databricks auth token --host <workspace-url>
    • databricks auth token -p <profile-name>
    • databricks auth token --host <workspace-url> -p <profile-name>

    Aynı --host değere sahip birden çok profiliniz varsa Databricks CLI'sının --host doğru eşleşen OAuth belirteci bilgilerini bulmasına yardımcı olmak için ve -p seçeneklerini birlikte belirtmeniz gerekebilir.

2. Adım: Paketi oluşturma

Varsayılan Python paket projesi şablonunu kullanarak bir paket başlatın.

  1. Yerel geliştirme makinenizde şablonun oluşturulan paketini içerecek bir dizine geçmek için terminalinizi veya komut isteminizi kullanın.

  2. Komutu çalıştırmak için Databricks CLI'yi bundle init kullanın:

    databricks bundle init
    
  3. içinTemplate to use, tuşuna basarak Entervarsayılan değerini default-python bırakın.

  4. için Unique name for this projectvarsayılan değerini my_projectbırakın veya farklı bir değer yazın ve tuşuna basın Enter. Bu, bu paket için kök dizinin adını belirler. Bu kök dizin, geçerli çalışma dizininiz içinde oluşturulur.

  5. için Include a stub (sample) notebooköğesini seçin no ve tuşuna basın Enter. Bu seçenekle ilişkilendirilmiş örnek not defterinin içinde Delta Live Tables kodu olmadığından Bu, Databricks CLI'ya bu noktada örnek not defteri eklememesi talimatını vermektedir.

  6. içinInclude a stub (sample) DLT pipeline, tuşuna basarak Entervarsayılan değerini yes bırakın. Bu, Databricks CLI'ya Içinde Delta Live Tables kodu bulunan bir örnek not defteri eklemesini sağlar.

  7. için Include a stub (sample) Python packageöğesini seçin no ve tuşuna basın Enter. Bu, Databricks CLI'ya paketinize örnek Python tekerlek paketi dosyaları veya ilgili derleme yönergeleri eklememesi talimatını vermektedir.

3. Adım: Paketi keşfetme

Şablonun oluşturduğu dosyaları görüntülemek için yeni oluşturduğunuz paketin kök dizinine geçin. Belirli bir ilgi alanı olan dosyalar şunlardır:

  • databricks.yml: Bu dosya paketin programlı adını belirtir, işlem hattı tanımına bir başvuru içerir ve hedef çalışma alanıyla ilgili ayarları belirtir.
  • resources/<project-name>_job.yml ve resources/<project-name>_pipeline.yml: Bu dosyalar, işlem hattı yenileme görevini içeren işi ve işlem hattının ayarlarını tanımlar.
  • src/dlt_pipeline.ipynb: Bu dosya çalıştırıldığında işlem hattını yürüten bir not defteridir.

İşlem hatlarını özelleştirmek için işlem hattı bildirimi içindeki eşlemeler, REST API başvurusunda POST /api/2.0/pipelines içinde tanımlanan ve YAML biçiminde ifade edilen işlem hattı oluşturma işleminin istek yüküne karşılık gelir.

4. Adım: Projenin paket yapılandırma dosyasını doğrulama

Bu adımda paket yapılandırmasının geçerli olup olmadığını denetlersiniz.

  1. Kök dizinden Databricks CLI'sini bundle validate kullanarak komutu aşağıdaki gibi çalıştırın:

    databricks bundle validate
    
  2. Paket yapılandırmasının özeti döndürülürse doğrulama başarılı olur. Herhangi bir hata döndürülürse, hataları düzeltin ve bu adımı yineleyin.

Bu adımdan sonra paketinizde herhangi bir değişiklik yaparsanız, paket yapılandırmanızın hala geçerli olup olmadığını denetlemek için bu adımı yinelemelisiniz.

5. Adım: Yerel projeyi uzak çalışma alanına dağıtma

Bu adımda, yerel not defterini uzak Azure Databricks çalışma alanınıza dağıtacak ve çalışma alanınızda Delta Live Tables işlem hattını oluşturacaksınız.

  1. Aşağıdaki komutu çalıştırmak için paket kökünden Databricks CLI'sini bundle deploy kullanın:

    databricks bundle deploy -t dev
    
  2. Yerel not defterinin dağıtılıp dağıtılmadığını denetleyin: Azure Databricks çalışma alanınızın kenar çubuğunda Çalışma Alanı'na tıklayın.

  3. Users><your-username>> .bundle ><project-name>> dev > files > src klasörüne tıklayın. Not defteri bu klasörde olmalıdır.

  4. İşlem hattının oluşturulup oluşturulmadığını denetleyin: Azure Databricks çalışma alanınızın kenar çubuğunda Delta Live Tables'a tıklayın.

  5. Delta Live Tables sekmesinde [dev <your-username>] <project-name>_pipeline öğesine tıklayın.

Bu adımdan sonra paketinizde herhangi bir değişiklik yaparsanız, paket yapılandırmanızın hala geçerli olup olmadığını denetlemek için 4-5 arası adımları yineleyip projeyi yeniden dağıtmanız gerekir.

6. Adım: Dağıtılan projeyi çalıştırma

Bu adımda, komut satırından çalışma alanınızdaki Delta Live Tables işlem hattının çalıştırılmasını tetiklersiniz.

  1. Kök dizinden databricks CLI'sini bundle run kullanarak komutunu aşağıdaki gibi çalıştırın ve değerini 2. Adımdaki projenizin adıyla değiştirin <project-name> :

    databricks bundle run -t dev <project-name>_pipeline
    
  2. Terminalinizde görünen değerini Update URL kopyalayın ve bu değeri web tarayıcınıza yapıştırarak Azure Databricks çalışma alanınızı açın.

  3. Azure Databricks çalışma alanınızda işlem hattı başarıyla tamamlandıktan sonra ayrıntıları görmek için taxi_raw görünümüne ve filtered_taxis gerçekleştirilmiş görünüme tıklayın.

Bu adımdan sonra paketinizde herhangi bir değişiklik yaparsanız, paket yapılandırmanızın hala geçerli olup olmadığını denetlemek, projeyi yeniden dağıtmak ve yeniden dağıtılan projeyi çalıştırmak için 4-6 arası adımları yinelemelisiniz.

7. Adım: Temizleme

Bu adımda, dağıtılan not defterini ve işlem hattını çalışma alanınızdan silersiniz.

  1. Kök dizinden Databricks CLI'sini bundle destroy kullanarak komutu aşağıdaki gibi çalıştırın:

    databricks bundle destroy -t dev
    
  2. İşlem hattı silme isteğini onaylayın: Kaynakları kalıcı olarak yok etmek isteyip istemediğiniz sorulduğunda yazın y ve tuşuna basın Enter.

  3. Not defteri silme isteğini onaylayın: Önceden dağıtılan klasörü ve tüm dosyalarını kalıcı olarak yok etmek isteyip istemediğiniz sorulduğunda yazın y ve tuşuna basın Enter.

  4. Paketi geliştirme makinenizden de silmek istiyorsanız, artık 2. Adım'dan yerel dizini silebilirsiniz.

Pakete mevcut işlem hattı tanımını ekleme

Paket yapılandırma dosyasında yeni bir işlem hattı tanımlamak için mevcut Delta Live Tables işlem hattı tanımını temel olarak kullanabilirsiniz. Mevcut bir işlem hattı tanımını almak için kullanıcı arabirimini kullanarak el ile alabilir veya Databricks CLI kullanarak program aracılığıyla oluşturabilirsiniz.

Kullanıcı arabirimini kullanarak mevcut bir işlem hattı tanımını alma

Azure Databricks çalışma alanı kullanıcı arabiriminden mevcut işlem hattı tanımının YAML gösterimini almak için:

  1. Azure Databricks çalışma alanınızın kenar çubuğunda İş Akışları'ne tıklayın.

  2. Delta Live Tables sekmesinde işlem hattınızın Ad bağlantısına tıklayın.

  3. Geliştirme düğmesinin yanındaki kebap ve ardından Ayarları görüntüle YAML'ye tıklayın.

  4. İşlem hattı ayarları YAML iletişim kutusundaki işlem hattı tanımının YAML'sini kopyalama simgesine tıklayarak yerel panonuza kopyalayın.

  5. Paketinizin dosyasına kopyaladığınız YAML'yi databricks.yml ekleyin veya paket projenizin klasöründe işlem hattınız resources için bir yapılandırma dosyası oluşturun ve dosyanızdan databricks.yml bu dosyaya başvurun. Kaynaklara bakın.

  6. Paketin proje kaynağına başvuruda bulunan Python dosyalarını ve not defterlerini indirin ve ekleyin. Genellikle paket yapıtları bir paketteki src dizinde bulunur.

    İpucu

    Azure Databricks not defteri kullanıcı arabiriminden Dosya > Dışarı Aktarma > IPython Not Defteri'ne tıklayarak mevcut bir not defterini Azure Databricks çalışma alanından .ipynb biçime aktarabilirsiniz.

    Not defterlerinizi, Python dosyalarınızı ve diğer yapıtlarınızı pakete ekledikten sonra işlem hattı tanımınızın bunlara düzgün başvurduğunu doğrulayın. Örneğin, paketin dizinindeki src/ adlı hello.ipynb bir not defteri için:

    resources:
      pipelines:
        hello-pipeline:
          name: hello-pipeline
          libraries:
            - notebook:
                path: ../src/hello.ipynb
    

Databricks CLI kullanarak mevcut bir işlem hattı tanımı oluşturma

Mevcut bir işlem hattı için program aracılığıyla paket yapılandırması oluşturmak için:

  1. Kullanıcı arabirimindeki işlem hattının İşlem hattı ayrıntıları yan panelinden mevcut işlem hattının kimliğini alın veya Databricks CLI databricks pipelines list-pipelines komutunu kullanın.

  2. bundle generate pipeline İşlem hattı kimliğini ayarlayarak Databricks CLI komutunu çalıştırın:

    databricks bundle generate pipeline --existing-pipeline-id 6565621249
    

    Bu komut, paketin klasöründe işlem hattı için bir paket resources yapılandırma dosyası oluşturur ve başvurulan yapıtları klasöre src indirir.

    İpucu

    İlk olarak bir paketteki kaynağı çalışma alanında bir kaynağa bağlamak için kullanırsanız bundle deployment bind , çalışma alanı içindeki kaynak sonrakinden sonra bundle deploybağlandığı pakette tanımlanan yapılandırmaya göre güncelleştirilir. hakkında bundle deployment bindbilgi için bkz . Paket kaynaklarını bağlama.