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.
-
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>
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 komutunudatabricks auth env --profile <profile-name>
çalıştırın.Web tarayıcınızda, Azure Databricks çalışma alanınızda oturum açmak için ekrandaki yönergeleri tamamlayın.
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.
Yerel geliştirme makinenizde şablonun oluşturulan paketini içerecek bir dizine geçmek için terminalinizi veya komut isteminizi kullanın.
Komutunu çalıştırmak için Dataricks CLI'yi
bundle init
kullanın:databricks bundle init
için
Template to use
, tuşuna basarakEnter
varsayılan değerinidefault-python
bırakın.için
Unique name for this project
varsayılan değerinimy_project
bırakın veya farklı bir değer yazın ve tuşuna basınEnter
. Bu, bu paket için kök dizinin adını belirler. Bu kök dizin, geçerli çalışma dizininiz içinde oluşturulur.için
Include a stub (sample) notebook
öğesini seçinyes
ve tuşuna basınEnter
.için
Include a stub (sample) DLT pipeline
öğesini seçinno
ve tuşuna basınEnter
. Bu, Databricks CLI'ya paketinizde örnek bir Delta Live Tables işlem hattı tanımlamamasını sağlar.için
Include a stub (sample) Python package
öğesini seçinno
ve tuşuna basınEnter
. 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.
Kök dizinden Databricks CLI'sini
bundle validate
kullanarak komutu aşağıdaki gibi çalıştırın:databricks bundle validate
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.
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
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.
Users>
<your-username>
> .bundle ><project-name>
> dev > files > src klasörüne tıklayın. Not defteri bu klasörde olmalıdır.İşin oluşturulup oluşturulmadığını denetleyin: Azure Databricks çalışma alanınızın kenar çubuğunda İş Akışları'na tıklayın.
İşler sekmesinde [dev
<your-username>
]<project-name>_job
öğesine tıklayın.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.
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
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.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.
Kök dizinden Databricks CLI'sini
bundle destroy
kullanarak komutu aşağıdaki gibi çalıştırın:databricks bundle destroy
İş silme isteğini onaylayın: Kaynakları kalıcı olarak yok etmek isteyip istemediğiniz sorulduğunda yazın
y
ve tuşuna basınEnter
.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ınEnter
.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.
- Geliştirme makinenizde boş bir dizin oluşturun veya tanımlayın.
- 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 .gitignore
gibi 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ı main
bir kataloğun içindeki adlı şemada adlı my-volume
default
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.
Dizinin kökünden, adlı
retrieve-baby-names.py
bir dosya olan ilk not defterini oluşturun.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)
aynı dizinde adlı
filter-baby-names.py
ikinci not defterini oluşturun.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
Örneğin Visual Studio Code Market'ten YAML uzantısını yükleyerek Visual Studio Code'a YAML dil sunucusu desteği ekleyin.
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
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
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
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.
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
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
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.
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.
-
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>
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 komutunudatabricks auth env --profile <profile-name>
çalıştırın.Web tarayıcınızda, Azure Databricks çalışma alanınızda oturum açmak için ekrandaki yönergeleri tamamlayın.
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.
- Dizinin kökünden, adlı
databricks.yml
bir dosya olan paket yapılandırma dosyasını oluşturun. - 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-server
ilk 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.
Komutu çalıştırmak
bundle validate
için Databricks CLI'yi aşağıdaki gibi kullanın:databricks bundle validate
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.
Komutu aşağıdaki gibi çalıştırmak
bundle deploy
için Databricks CLI'yi kullanın:databricks bundle deploy -t development
İ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.
Users>
<your-username>
> .bundle > baby-names > geliştirme > dosyaları klasörüne tıklayın. İki not defteri bu klasörde olmalıdır.İşin oluşturulup oluşturulmadığını denetleyin: Azure Databricks çalışma alanınızın kenar çubuğunda İş Akışları'na tıklayın.
İşler sekmesinde retrieve-filter-baby-names-job öğesine tıklayın.
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.
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
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.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.
Komutu çalıştırmak
bundle destroy
için Databricks CLI'yi aşağıdaki gibi kullanın:databricks bundle destroy
İş silme isteğini onaylayın: Kaynakları kalıcı olarak yok etmek isteyip istemediğiniz sorulduğunda yazın
y
ve tuşuna basınEnter
.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ınEnter
.
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:
- Azure Databricks çalışma alanınızın kenar çubuğunda Katalog'a tıklayın.
- DBFS'ye Gözat'a tıklayın.
- Dosya Deposu klasörüne tıklayın.
- babynames.csv yanındaki açılan oka tıklayın ve sil'e tıklayın.
- 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.
- Azure Databricks çalışma alanınızın kenar çubuğunda İş Akışları'ne tıklayın.
- İşler sekmesinde, işinizin Ad bağlantısına tıklayın.
- Şimdi çalıştır düğmesinin yanındaki üç noktaya tıklayın ve ardından YAML Görüntüle'ye tıklayın.
- 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
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
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>
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>
.
- değerini paket yapılandırmasından hedef için benzersiz programlı tanımlayıcıyla değiştirin
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.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin