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.
Bu öğreticide sıfırdan bir Databricks Varlık Paketi oluşturacaksınız. 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 Azure Databricks çalışma alanınızda işi doğrular, dağıtır ve çalıştırırsınız. Bu adımlar , Lakeflow İşleri ile ilk iş akışınızı oluşturma başlıklı hızlı başlangıcı otomatikleştirir.
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'yi yüklemek veya güncellemek için bkz. Databricks CLI yükleme veya güncelleştirme. - Databricks CLI için kimlik doğrulaması yapılandırıldı. U2M kimlik doğrulaması, bu adımları gerçek zamanlı olarak denemek için uygundur. Bkz . Databricks CLI için kimlik doğrulaması.
- Uzak Databricks çalışma alanında çalışma alanı dosyaları etkinleştirilmelidir. Bkz . Çalışma alanı dosyaları nedir?.
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 açın.
İpucu
Git sağlayıcısından kopyalanmış bir depo içeren bir dizin de kullanabilirsiniz. Bu sayede paketinizi dış sürüm denetimiyle yönetebilir ve projenizde diğer geliştiriciler ve BT uzmanlarıyla daha kolay işbirliği yapabilirsiniz.
Bu tanıtım için bir repository kopyalamayı seçerseniz, Databricks repository'nin boş olmasını veya içinde yalnızca README ve .gitignore gibi temel dosyaların olmasını önerir. Aksi takdirde, depodaki önceden var olan dosyalar, Azure Databricks çalışma alanınıza gereksiz yere 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. Bakanlığın web sitesinde İsme Göre Eğilim: 2007'den itibaren Bebek Adları'nı İnceleyin. İlk not defteri daha sonra bu verileri my-volumeadlı katalogdaki default adlı şemada main adlı 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,
retrieve-baby-names.pyadlı bir dosya olan ilk not defterini oluşturun.retrieve-baby-names.pydosyası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.pyikinci not defterini oluşturun.filter-baby-names.pydosyası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ını ve JSON şema dosyalarını destekleyen 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 için de kullanabilirsiniz.
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
bundle schemakomutunu çalıştırın ve çıkışı bir JSON dosyasına yeniden yönlendirin. Örneğin, geçerli dizinde aşağıdaki gibibundle_config_schema.jsonadlı bir dosya oluşturun:databricks bundle schema > bundle_config_schema.json4. 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ı ekleyebilirsiniz:
# yaml-language-server: $schema=bundle_config_schema.jsonNot
Önceki yorumda, Databricks Varlık Paketi yapılandırma JSON şema dosyanız farklı bir yoldaysa,
bundle_config_schema.jsonyerine şema dosyanızın tam yolunu yazın.
PyCharm Professional
Databricks CLI kullanarak Databricks Varlık Paketi yapılandırma JSON şema dosyasını oluşturarak
bundle schemakomutunu çalıştırın ve çıkışı bir JSON dosyasına yeniden yönlendirin. Örneğin, geçerli dizinde aşağıdaki gibibundle_config_schema.jsonadlı bir dosya oluşturun:databricks bundle schema > bundle_config_schema.jsonPyCharm'ı paket yapılandırması JSON şema dosyasını tanıyacak şekilde ayarlayın ve ardından özel bir JSON şeması yapılandırınyönergelerini izleyerek JSON şema eşlemesini tamamlayın.
4. Adımda PyCharm kullanarak bir paket yapılandırma dosyası oluşturacak veya açacaksınız. 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
bundle schemakomutunu çalıştırın ve çıkışı bir JSON dosyasına yeniden yönlendirin. Örneğin, geçerli dizinde aşağıdaki gibibundle_config_schema.jsonadlı bir dosya oluşturun:databricks bundle schema > bundle_config_schema.jsonIntelliJ 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
yönergeleri izleyerek JSON şema eşlemesini tamamlayın. 4. Adımda, 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: Projeye paket yapılandırma dosyası ekleme
Bu adımda, iki not defterinin nasıl dağıtılacağını ve çalıştırılacağını tanımlarsınız. Bu tanıtımda, Azure Databricks işi kullanarak önce ilk not defterini, sonra da ikinci not defterini çalıştırmak 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ında modelleyebilirsiniz.
- Dizinin kökünden,
databricks.ymladlı bir dosya olarak paket yapılandırma dosyasını oluşturun. - Aşağıdaki kodu
databricks.ymldosyasına ekleyin ve<workspace-url>yerine, örnek olarak , kendi çalışma alanı başına URL'nizihttps://adb-1234567890123456.7.azuredatabricks.netile değiştirin. Bu URL, dosyanızdaki.databrickscfgurl 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ş bildirimindeki eşlemeler, REST API başvurusunda POST /api/2.1/jobs/create içinde belgelendiği gibi iş oluşturma işleminin YAML biçiminde ifade edilen istek yüküne karşılık gelir.
İpucu
Hedef ayarlarla 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.
5. 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 validateiçin Databricks CLI'yi aşağıdaki gibi kullanın:databricks bundle validatePaket 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.
6. 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 deployiç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 girin. İ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 İşler ve İşlem Hatları'na tıklayın.
İsteğe bağlı olarak İşler ve Bana ait filtrelerini seçin.
Get-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.
7. 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 runiçin Databricks CLI'yi aşağıdaki gibi kullanın:databricks bundle run -t development retrieve-filter-baby-names-jobTerminalinizde görünen değerini
Run URLkopyalayı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.
8. 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 destroyiç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
yve 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
yve 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'e tıklayın.
- DBFS'ye Gözat'a tıklayın.
- Dosya Deposu klasörüne tıklayın.
- Babynames.csv dosyasının yanındaki açılır ok işaretine tıklayın ve Sil seçeneğine tıklayın.
- Paketi geliştirme makinenizden de silmek istiyorsanız, artık 1. Adım'dan yerel dizini silebilirsiniz.