Share via


Databricks Varlık Paketlerini kullanarak Azure Databricks'te iş geliştirme

Yalnızca paket olarak da bilinen Databricks Varlık Paketleri, işler gibi Azure Databricks kaynaklarını program aracılığıyla doğrulamanızı, dağıtmanızı ve çalıştırmanızı sağlar. Delta Live Tables işlem hatlarını program aracılığıyla yönetmek ve MLOps Yığınlarıyla çalışmak için paketleri de kullanabilirsiniz. Bkz . Databricks Varlık Paketleri nedir?.

Bu makalede, bir işi program aracılığıyla yöneten bir paket kullanmak için yerel geliştirme kurulumundan tamamlayabileceğiniz adımlar açıklanmaktadır. Bkz . Azure Databricks İş Akışlarına Giriş.

Paketlere taşımak istediğiniz Azure Databricks İş Akışları kullanıcı arabirimi veya API kullanılarak oluşturulmuş mevcut işleriniz varsa, bunları paket yapılandırma dosyaları olarak yeniden oluşturmanız gerekir. Bunu yapmak için Databricks, önce aşağıdaki adımları kullanarak bir paket oluşturmanızı ve paketin çalışıp çalışmadığını doğrulamanızı önerir. Ardından pakete iş tanımları, not defterleri ve diğer kaynaklar ekleyebilirsiniz. Bkz. Pakete var olan iş tanımını ekleme.

Databricks CLI kullanarak bir paket tarafından dağıtılan bir işi çalıştırmanın yanı sıra, bu işleri Azure Databricks İşleri kullanıcı arabiriminde de görüntüleyebilir ve çalıştırabilirsiniz. Bkz. Databricks Varlık Paketi ile oluşturulan bir işi görüntüleme ve çalıştırma.

Gereksinimler

  • Databricks CLI sürüm 0.218 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.

Karar: Şablonu kullanarak veya el ile paket oluşturma

Şablon kullanarak mı yoksa el ile mi örnek paket oluşturmak istediğinize karar verin:

Şablon kullanarak paket oluşturma

Bu adımlarda paketi oluşturmak için Python için Azure Databricks varsayılan paket şablonunu kullanırsınız. Bu şablon, bir not defteri veya Python kodundan oluşur ve bunu çalıştırmak için bir işin tanımıyla eşleştirilir. Ardından dağıtılan işi Azure Databricks çalışma alanınızda doğrular, dağıtır ve çalıştırırsınız. Uzak çalışma alanında çalışma alanı dosyaları etkinleştirilmelidir. Bkz . Çalışma alanı dosyaları nedir?.

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

Paket, dağıtmak istediğiniz yapıtları ve çalıştırmak istediğiniz kaynakların ayarlarını içerir.

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

  2. Komutunu çalıştırmak için Dataricks 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 yes ve tuşuna basın Enter.

  6. için Include a stub (sample) DLT pipelineöğesini seçin no ve tuşuna basın Enter. Bu, Databricks CLI'ya paketinizde örnek bir Delta Live Tables işlem hattı tanımlamamasını 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 ve bu dizini tercih ettiğiniz IDE ile (örneğin Visual Studio Code) açın. Belirli bir ilgi alanı olan dosyalar şunlardır:

  • databricks.yml: Bu dosya paketin programlı adını belirtir, iş tanımına bir başvuru içerir ve hedef çalışma alanıyla ilgili ayarları belirtir.
  • resources/<project-name>_job.yml: Bu dosya, varsayılan not defteri görevi dahil olmak üzere işin ayarlarını belirtir.
  • src/notebook.ipynb: Bu dosya, çalıştırıldığında 1 ile 10 arasında sayıları içeren bir RDD başlatan örnek bir not defteridir.

İşleri özelleştirmek için, bir iş bildirimi içindeki eşlemeler, REST API başvurusunda POST/api/2.1/jobs/create içinde tanımlanan ve YAML biçiminde ifade edilen iş oluşturma işleminin istek yüküne karşılık gelir.

İpucu

Databricks Varlık Paketleri'nde küme ayarlarını geçersiz kılma başlığında açıklanan teknikleri kullanarak paketlerde yeni iş kümelerinin ayarlarını tanımlayabilir, birleştirebilir ve geçersiz kılabilirsiniz.

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 Azure Databricks işini 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. İşin oluşturulup oluşturulmadığını denetleyin: Azure Databricks çalışma alanınızın kenar çubuğunda İş Akışları'na tıklayın.

  5. İşler sekmesinde [dev <your-username>]<project-name>_job öğesine tıklayın.

  6. Görevler sekmesine tıklayın. Bir görev olmalıdır: notebook_task.

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, çalışma alanınızda Azure Databricks işini çalıştırırsınız.

  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>_job
    
  2. Terminalinizde görünen değerini Run 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ş görevi başarıyla tamamlandıktan ve yeşil başlık çubuğu gösterildikten sonra, sonuçları görmek için iş görevine 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şi ç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
    
  2. İş 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.

Şablon kullanarak paket oluşturma adımlarının sonuna ulaştınız.

Paketi el ile oluşturma

Bu adımlarda sıfırdan bir paket oluşturursunuz. Bu basit paket iki not defterinden ve bu not defterlerini çalıştırmak için bir Azure Databricks işinin tanımından oluşur. Ardından dağıtılan not defterlerini Azure Databricks çalışma alanınızdaki işten doğrular, dağıtır ve çalıştırırsınız. Bu adımlar, Azure Databricks işiyle ilk iş akışınızı oluşturma başlıklı hızlı başlangıcı otomatikleştirir.

1. Adım: Paketi oluşturma

Paket, dağıtmak istediğiniz yapıtları ve çalıştırmak istediğiniz kaynakların ayarlarını içerir.

  1. Geliştirme makinenizde boş bir dizin oluşturun veya tanımlayın.
  2. Terminalinizde boş dizine geçin veya IDE'nizde boş dizini açın.

İpucu

Boş dizininiz, Git sağlayıcısı tarafından yönetilen kopyalanmış bir depoyla ilişkilendirilebilir. Bu sayede paketinizi dış sürüm denetimiyle yönetebilir ve projeniz üzerinde diğer geliştiriciler ve BT uzmanlarıyla daha kolay işbirliği yapabilirsiniz. Ancak, bu gösterimi basitleştirmeye yardımcı olmak için burada kopyalanmış bir depo kullanılmaz.

Bu tanıtım için bir depoyu kopyalamayı seçerseniz Databricks deponun boş olmasını veya içinde ve .gitignoregibi README yalnızca temel dosyaları olmasını önerir. Aksi takdirde, depodaki önceden var olan dosyalar Gereksiz yere Azure Databricks çalışma alanınızla eşitlenebilir.

2. Adım: Projeye not defterleri ekleme

Bu adımda, projenize iki not defteri eklersiniz. İlk not defteri, 2007'den bu yana New York Eyalet Sağlık Bakanlığı'nın genel veri kaynaklarından popüler bebek adlarının listesini alır. Bölümün web sitesinde Bkz . Bebek Adları: Ada Göre Eğilim: 2007'de başlıyor. İlk not defteri daha sonra bu verileri adlı mainbir kataloğun içindeki adlı şemada adlı my-volumedefault Azure Databricks Unity Kataloğu biriminize kaydeder. İkinci not defteri, kaydedilen verileri sorgular ve 2014 için bebek adlarının ad ve cinsiyete göre toplam sayısını görüntüler.

  1. Dizinin kökünden, adlı retrieve-baby-names.pybir dosya olan ilk not defterini oluşturun.

  2. retrieve-baby-names.py dosyasına aşağıdaki kodu ekleyin:

    # Databricks notebook source
    import requests
    
    response = requests.get('http://health.data.ny.gov/api/views/jxy9-yhdk/rows.csv')
    csvfile = response.content.decode('utf-8')
    dbutils.fs.put("/Volumes/main/default/my-volume/babynames.csv", csvfile, True)
    
  3. aynı dizinde adlı filter-baby-names.pyikinci not defterini oluşturun.

  4. filter-baby-names.py dosyasına aşağıdaki kodu ekleyin:

    # Databricks notebook source
    babynames = spark.read.format("csv").option("header", "true").option("inferSchema", "true").load("/Volumes/main/default/my-volume/babynames.csv")
    babynames.createOrReplaceTempView("babynames_table")
    years = spark.sql("select distinct(Year) from babynames_table").toPandas()['Year'].tolist()
    years.sort()
    dbutils.widgets.dropdown("year", "2014", [str(x) for x in years])
    display(babynames.filter(babynames.Year == dbutils.widgets.get("year")))
    

3. Adım: Projeye paket yapılandırma şeması dosyası ekleme

YAML dosyaları ve JSON şema dosyaları için destek sağlayan Visual Studio Code, PyCharm Professional veya IntelliJ IDEA Ultimate gibi bir IDE kullanıyorsanız, IDE'nizi yalnızca paket yapılandırma şeması dosyasını oluşturmakla kalmaz, projenizin paket yapılandırma dosyası söz dizimini ve biçimlendirmesini denetlemek ve kod tamamlama ipuçları sağlamak için kullanabilirsiniz. aşağıda gösterildiği gibi. 5. Adımda daha sonra oluşturacağınız paket yapılandırma dosyası YAML tabanlı olsa da, bu adımda paket yapılandırma şeması dosyasının JSON tabanlı olduğunu unutmayın.

Visual Studio Code

  1. Örneğin Visual Studio Code Market'ten YAML uzantısını yükleyerek Visual Studio Code'a YAML dil sunucusu desteği ekleyin.

  2. Databricks CLI kullanarak Databricks Varlık Paketi yapılandırma JSON şema dosyasını oluşturarak komutu çalıştırın bundle schema ve çıkışı bir JSON dosyasına yönlendirin. Örneğin, aşağıdaki gibi geçerli dizinde adlı bundle_config_schema.json bir dosya oluşturun:

    databricks bundle schema > bundle_config_schema.json
    
  3. 5. Adımda, paket yapılandırma dosyanızı belirtilen JSON şema dosyasıyla ilişkilendiren paket yapılandırma dosyanızın başına aşağıdaki açıklamayı ekleyebileceğinizi unutmayın:

    # yaml-language-server: $schema=bundle_config_schema.json
    

    Not

    Önceki açıklamadaki Databricks Varlık Paketi yapılandırma JSON şema dosyanız farklı bir yoldaysa değerini şema dosyanızın tam yoluyla değiştirin bundle_config_schema.json .

Pycharm professsional

  1. Databricks CLI kullanarak Databricks Varlık Paketi yapılandırma JSON şema dosyasını oluşturarak komutu çalıştırın bundle schema ve çıkışı bir JSON dosyasına yönlendirin. Örneğin, aşağıdaki gibi geçerli dizinde adlı bundle_config_schema.json bir dosya oluşturun:

    databricks bundle schema > bundle_config_schema.json
    
  2. PyCharm'ı paket yapılandırması JSON şema dosyasını tanıyacak şekilde yapılandırın ve ardından Özel JSON şeması yapılandırma başlığındaki yönergeleri izleyerek JSON şema eşlemesini tamamlayın.

  3. 5. Adım'ın devamında, paket yapılandırma dosyası oluşturmak veya açmak için PyCharm kullanacağınızı unutmayın. Kural gereği, bu dosya olarak adlandırılır databricks.yml.

Intellij idea ultimate

  1. Databricks CLI kullanarak Databricks Varlık Paketi yapılandırma JSON şema dosyasını oluşturarak komutu çalıştırın bundle schema ve çıkışı bir JSON dosyasına yönlendirin. Örneğin, aşağıdaki gibi geçerli dizinde adlı bundle_config_schema.json bir dosya oluşturun:

    databricks bundle schema > bundle_config_schema.json
    
  2. IntelliJ IDEA'yı paket yapılandırması JSON şema dosyasını tanıyacak şekilde yapılandırın ve ardından Özel JSON şeması yapılandırma başlığındaki yönergeleri izleyerek JSON şema eşlemesini tamamlayın.

  3. 5. Adım'ın ilerleyen bölümlerinde paket yapılandırma dosyası oluşturmak veya açmak için IntelliJ IDEA kullanacaksınız. Kural gereği, bu dosya olarak adlandırılır databricks.yml.

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

5. Adım: Projeye paket yapılandırma dosyası ekleme

Bu adımda, iki not defterini nasıl dağıtmak ve çalıştırmak istediğinizi tanımlarsınız. Bu tanıtımda, ilk not defterini ve ardından ikinci not defterini çalıştırmak için bir Azure Databricks işi kullanmak istiyorsunuz. İlk not defteri verileri kaydettiğinden ve ikinci not defteri kaydedilen verileri sorguladığı için, ikinci not defteri başlamadan önce ilk not defterinin çalışmasının bitmesini istersiniz. Bu hedefleri projenizdeki bir paket yapılandırma dosyası içinde modelleyebilirsiniz.

  1. Dizinin kökünden, adlı databricks.ymlbir dosya olan paket yapılandırma dosyasını oluşturun.
  2. Aşağıdaki kodu dosyaya databricks.yml ekleyin ve yerine <workspace-url> çalışma alanı başına URL'nizi ekleyin; örneğinhttps://adb-1234567890123456.7.azuredatabricks.net. Bu URL, dosyanızdaki .databrickscfg url ile eşleşmelidir:

İpucu

ile başlayan # yaml-language-serverilk satır, yalnızca IDE'niz destekliyorsa gereklidir. Ayrıntılar için bkz. Önceki 3. adım.

# yaml-language-server: $schema=bundle_config_schema.json
bundle:
  name: baby-names

resources:
  jobs:
    retrieve-filter-baby-names-job:
      name: retrieve-filter-baby-names-job
      job_clusters:
        - job_cluster_key: common-cluster
          new_cluster:
            spark_version: 12.2.x-scala2.12
            node_type_id: Standard_DS3_v2
            num_workers: 1
      tasks:
        - task_key: retrieve-baby-names-task
          job_cluster_key: common-cluster
          notebook_task:
            notebook_path: ./retrieve-baby-names.py
        - task_key: filter-baby-names-task
          depends_on:
            - task_key: retrieve-baby-names-task
          job_cluster_key: common-cluster
          notebook_task:
            notebook_path: ./filter-baby-names.py

targets:
  development:
    workspace:
      host: <workspace-url>

İşleri özelleştirmek için, bir iş bildirimi içindeki eşlemeler, REST API başvurusunda POST/api/2.1/jobs/create içinde tanımlanan ve YAML biçiminde ifade edilen iş oluşturma işleminin istek yüküne karşılık gelir.

İpucu

Databricks Varlık Paketleri'nde küme ayarlarını geçersiz kılma başlığında açıklanan teknikleri kullanarak paketlerde yeni iş kümelerinin ayarlarını tanımlayabilir, birleştirebilir ve geçersiz kılabilirsiniz.

6. 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. Komutu çalıştırmak bundle validate için Databricks CLI'yi aşağıdaki gibi kullanı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.

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

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

  1. Komutu aşağıdaki gibi çalıştırmak bundle deploy için Databricks CLI'yi kullanın:

    databricks bundle deploy -t development
    
  2. İki 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 > baby-names > geliştirme > dosyaları klasörüne tıklayın. İki not defteri bu klasörde olmalıdır.

  4. İşin oluşturulup oluşturulmadığını denetleyin: Azure Databricks çalışma alanınızın kenar çubuğunda İş Akışları'na tıklayın.

  5. İşler sekmesinde retrieve-filter-baby-names-job öğesine tıklayın.

  6. Görevler sekmesine tıklayın. İki görev olmalıdır: retrieve-baby-names-task ve filter-baby-names-task.

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 6-7 arası adımları yineleyip projeyi yeniden dağıtmanız gerekir.

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

Bu adımda, çalışma alanınızda Azure Databricks işini çalıştırırsınız.

  1. Komutu çalıştırmak bundle run için Databricks CLI'yi aşağıdaki gibi kullanın:

    databricks bundle run -t development retrieve-filter-baby-names-job
    
  2. Terminalinizde görünen değerini Run 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, iki görev başarıyla tamamlanıp yeşil başlık çubukları gösterildikten sonra, sorgu sonuçlarını görmek için filter-baby-names-task görevine 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 6-8 arası adımları yinelemelisiniz.

9. Adım: Temizleme

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

  1. Komutu çalıştırmak bundle destroy için Databricks CLI'yi aşağıdaki gibi kullanın:

    databricks bundle destroy
    
  2. İş 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 defterlerini 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.

komutu çalıştırıldığında bundle destroy yalnızca dağıtılan iş ve dağıtılan iki not defterini içeren klasör silinir. Bu komut, ilk not defterinin babynames.csv oluşturduğu dosya gibi herhangi bir yan efekti silmez. Dosyayı silmek babybnames.csv için aşağıdakileri yapın:

  1. Azure Databricks çalışma alanınızın kenar çubuğunda Katalog'a tıklayın.
  2. DBFS'ye Gözat'a tıklayın.
  3. Dosya Deposu klasörüne tıklayın.
  4. babynames.csv yanındaki açılan oka tıklayın ve sil'e tıklayın.
  5. Paketi geliştirme makinenizden de silmek istiyorsanız, artık 1. Adım'dan yerel dizini silebilirsiniz.

Pakete mevcut iş tanımını ekleme

Paket yapılandırma dosyasında yeni bir iş tanımlamak için var olan bir iş tanımını temel olarak kullanabilirsiniz. Bunu yapmak için aşağıdaki adımları tamamlayın.

Not

Aşağıdaki adımlar, mevcut işle aynı ayarlara sahip yeni bir iş oluşturur. Ancak, yeni işin var olan işten farklı bir iş kimliği vardır. Mevcut iş kimliğini otomatik olarak pakete aktaramazsınız.

1. Adım: Var olan iş tanımını YAML biçiminde alma

Bu adımda, mevcut iş tanımının YAML gösterimini almak için Azure Databricks çalışma alanı kullanıcı arabirimini kullanın.

  1. Azure Databricks çalışma alanınızın kenar çubuğunda İş Akışları'ne tıklayın.
  2. İşler sekmesinde, işinizin Ad bağlantısına tıklayın.
  3. Şimdi çalıştır düğmesinin yanındaki üç noktaya tıklayın ve ardından YAML Görüntüle'ye tıklayın.
  4. Oluştur sekmesinde, Kopyala'ya tıklayarak iş tanımının YAML değerini yerel panonuza kopyalayın.

2. Adım: YAML iş tanımını bir paket yapılandırma dosyasına ekleme

Paket yapılandırma dosyanızda, önceki adımdan kopyaladığınız YAML'yi paket yapılandırma dosyalarınızda etiketlenmiş <job-yaml-can-go-here> aşağıdaki konumlardan birine aşağıdaki gibi ekleyin:

resources:
  jobs:
    <some-unique-programmatic-identifier-for-this-job>:
      <job-yaml-can-go-here>

targets:
  <some-unique-programmatic-identifier-for-this-target>:
    resources:
      jobs:
        <some-unique-programmatic-identifier-for-this-job>:
          <job-yaml-can-go-here>

3. Adım: Pakete not defterleri, Python dosyaları ve diğer yapıtları ekleme

Mevcut işte başvuruda bulunılan tüm Python dosyaları ve not defterleri paketin kaynaklarına taşınmalıdır.

Paketlerle daha iyi uyumluluk için not defterleri IPython not defteri biçimini (.ipynb ) kullanmalıdır. Paketi yerel olarak geliştirirseniz, 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. Kural gereği, indirilen not defterini paketinizdeki dizine src/ yerleştirmeniz gerekir.

Not defterlerinizi, Python dosyalarınızı ve diğer yapıtlarınızı pakete ekledikten sonra iş tanımınızın bunlara başvurduğunu doğrulayın. Örneğin, dosya adı hello.ipynb bir dizinde olan ve src/ dizini dizine başvuran src/ paket yapılandırma dosyasıyla aynı klasörde bulunan bir src/ not defteri için iş tanımı aşağıdaki gibi ifade edilebilir:

resources:
  jobs:
    hello-job:
      name: hello-job
      tasks:
      - task_key: hello-task
        notebook_task:
          notebook_path: ./src/hello.ipynb

4. Adım: Yeni işi doğrulama, dağıtma ve çalıştırma

  1. Aşağıdaki komutu çalıştırarak paketin yapılandırma dosyalarının söz dizimsel olarak doğru olduğunu doğrulayın:

    databricks bundle validate
    
  2. Aşağıdaki komutu çalıştırarak paketi dağıtın. Bu komutta değerini paket yapılandırmasından hedef için benzersiz programlı tanımlayıcıyla değiştirin <target-identifier> :

    databricks bundle deploy -t <target-identifier>
    
  3. aşağıdaki komutla işi çalıştırın.

    databricks bundle run -t <target-identifier> <job-identifier>
    
    • değerini paket yapılandırmasından hedef için benzersiz programlı tanımlayıcıyla değiştirin <target-identifier> .
    • değerini paket yapılandırmasından işin benzersiz programlı tanımlayıcısıyla değiştirin <job-identifier> .

Sunucusuz işlem kullanan bir iş yapılandırma

Önemli

İş akışları için sunucusuz işlem Genel Önizleme aşamasındadır. Uygunluk ve etkinleştirme hakkında bilgi için bkz . Sunucusuz işlem genel önizlemesini etkinleştirme.

Aşağıdaki örneklerde sunucusuz işlem kullanan bir iş oluşturmak için paket yapılandırmaları gösterilmektedir.

Not defteri görevleri içeren bir işi çalıştırmak için sunucusuz işlem kullanmak için paket yapılandırma dosyasındaki job_clusters yapılandırmayı atlayın.

# yaml-language-server: $schema=bundle_config_schema.json
bundle:
  name: baby-names

resources:
  jobs:
    retrieve-filter-baby-names-job-serverless:
      name: retrieve-filter-baby-names-job-serverless
      tasks:
        - task_key: retrieve-baby-names-task
          notebook_task:
            notebook_path: ./retrieve-baby-names.py
        - task_key: filter-baby-names-task
          depends_on:
            - task_key: retrieve-baby-names-task
          notebook_task:
            notebook_path: ./filter-baby-names.py

  targets:
    development:
      workspace:
        host: <workspace-url>

Python görevlerini içeren bir işi çalıştırmak için sunucusuz işlem kullanmak için yapılandırmayı environments ekleyin.

# yaml-language-server: $schema=bundle_config_schema.json
bundle:
  name: serverless-python-tasks

resources:
jobs:
  serverless-python-job:
    name: serverless-job-with-python-tasks

    tasks:
      - task_key: wheel-task-1
        python_wheel_task:
          entry_point: main
          package_name: wheel_package
        environment_key: Default

    environments:
      - environment_key: Default
        spec:
          client: "1"
          dependencies:
            - workflows_authoring_toolkit==0.0.1

targets:
  development:
    workspace:
      host: <workspace-url>

bkz . İş akışları için sunucusuz işlemle Azure Databricks işinizi çalıştırma.