Aracılığıyla paylaş


DLT işlem hattını Databricks Varlık Paketi projesine dönüştürme

Bu makalede, mevcut bir DLT (DLT) işlem hattının Databricks Varlık Paketleri projesine nasıl dönüştürüldüğü gösterilmektedir. Paketler, Azure Databricks veri işleme yapılandırmanızı daha kolay bakım sağlayan ve hedef ortamlara otomatik dağıtım sağlayan, kaynak denetimindeki tek bir YAML dosyasında tanımlamanızı ve yönetmenizi sağlar.

Dönüştürme işlemine genel bakış

mevcut bir işlem hattını paketDiyagramı

Mevcut bir işlem hattını pakete dönüştürmek için gerçekleştirdiğiniz adımlar şunlardır:

  1. Pakete dönüştürmek istediğiniz önceden yapılandırılmış bir işlem hattına erişiminiz olduğundan emin olun.
  2. Paketi depolamak için bir klasör oluşturun veya hazırlayın (tercihen kaynak denetimli hiyerarşide).
  3. Azure Databricks CLI kullanarak mevcut işlem hattından paket için bir yapılandırma oluşturun.
  4. Tamamlandığından emin olmak için oluşturulan paket yapılandırmasını gözden geçirin.
  5. Paketi özgün işlem hattına bağlayın.
  6. Paket yapılandırmasını kullanarak işlem hattını hedef çalışma alanına dağıtın.

Gereksinimler

Başlamadan önce şunları yapmış olmanız gerekir:

1. Adım: Paket projeniz için klasör ayarlama

Azure Databricks'te Git klasörü olarak yapılandırılmış bir Git deposuna erişiminiz olmalıdır. Paket projenizi bu depoda oluşturacaksınız. Bu proje kaynak denetimi uygulayacak ve ilgili Azure Databricks çalışma alanında bir Git klasörü aracılığıyla diğer ortak çalışanların kullanımına sunulacaktır. (Git klasörleri hakkında daha fazla bilgi için bkz. Databricks Git klasörleri için Git tümleştirmesi.)

  1. Yerel makinenizde kopyalanan Git deposunun köküne gidin.

  2. Klasör hiyerarşisinde uygun bir yerde, paket projeniz için özel olarak bir klasör oluşturun. Örneğin:

    mkdir - p ~/source/my-pipelines/ingestion/events/my-bundle
    
  3. Geçerli çalışma dizininizi bu yeni klasörle değiştirin. Mesela:

    cd ~/source/my-pipelines/ingestion/events/my-bundle
    
  4. databricks bundle init çalıştırıp istemleri yanıtlayarak yeni bir paket başlatın. İşlem tamamlandıktan sonra, projenizin yeni giriş klasöründe databricks.yml adlı bir proje yapılandırma dosyanız olur. Komut satırından işlem hattınızı dağıtmak için bu dosya gereklidir. Bu yapılandırma dosyası hakkında daha fazla bilgi için bkz. Databricks Varlık Paketi yapılandırması.

2. Adım: İşlem hattı yapılandırmasını oluşturma

Kopyalanan Git deponuzun klasör ağacındaki bu yeni dizinden Azure Databricks CLI paketi create commandkomutunu çalıştırın ve DLT işlem hattınızın kimliğini <pipeline-id>olarak sağlayın:

databricks bundle generate pipeline --existing-pipeline-id <pipeline-id> --profile <profile-name>

generate komutunu çalıştırdığınızda, paketin resources klasöründe işlem hattınız için bir paket yapılandırma dosyası oluşturur ve başvurulan tüm yapıtları src klasörüne indirir. --profile (veya -p bayrağı) isteğe bağlıdır, ancak varsayılan profil yerine kullanmayı tercih ettiğiniz belirli bir Databricks yapılandırma profiliniz (Azure Databricks CLI'yı yüklediğinizde oluşturulan .databrickscfg dosyanızda tanımlanır) varsa, bunu bu komutta sağlayın. Databricks yapılandırma profilleri hakkında bilgi için Azure Databricks yapılandırma profilleri'ye bakın.

3. Adım: Paket proje dosyalarını gözden geçirme

bundle generate komutu tamamlandığında iki yeni klasör oluşturmuş olur:

  • resources, proje yapılandırma dosyalarını içeren proje alt dizinidir.
  • src, sorgular ve not defterleri gibi kaynak dosyaların depolandığı proje klasörüdür.

Komut ayrıca bazı ek dosyalar da oluşturur:

  • *.pipeline.yml, resources alt dizini altında. Bu dosya, DLT işlem hattınıza özgü yapılandırmayı ve ayarları içerir.
  • var olan DLT işlem hattınızdan kopyalanan src alt dizinindeki SQL sorguları gibi kaynak dosyalar.
├── databricks.yml                            # Project configuration file created with the bundle init command
├── resources/
│   └── {your-pipeline-name.pipeline}.yml     # Pipeline configuration
└── src/
    └── {SQl-query-retrieved-from-your-existing-pipeline}.sql # Your pipeline's declarative query

4. Adım: Paket işlem hattını mevcut işlem hattınıza bağlama

Değişiklik yaparken güncel tutmak için paketteki işlem hattı tanımını mevcut işlem hattınıza bağlamanız veya tanımlamanız gerekir. Azure Databricks CLI paket dağıtımı bağlama komutunuçalıştırarak bunu yapın:

databricks bundle deployment bind <pipeline-name> <pipeline-ID> --profile <profile-name>

<pipeline-name> işlem hattının adıdır. Bu ad, yeni resources dizininizdeki işlem hattı yapılandırması için dosya adının ön ekli dize değeriyle aynı olmalıdır. Örneğin, resources klasörünüzde ingestion_data_pipeline.pipeline.yml adlı bir işlem hattı yapılandırma dosyanız varsa, işlem hattı adınız olarak ingestion_data_pipeline sağlamanız gerekir.

<pipeline-ID> işlem hattınızın kimliğidir. Bu yönergeler için gereksinimlerin bir parçası olarak kopyaladığınızla aynıdır.

5. Adım: Yeni paketinizi kullanarak işlem hattınızı dağıtma

Şimdi azure databricks CLI paket dağıtma komutunu kullanarak işlem hattı paketinizi hedef çalışma alanınıza dağıtın:

databricks bundle deploy --target <target-name> --profile <profile-name>

--target bayrağı gereklidir ve development veya productiongibi yapılandırılmış bir hedef çalışma alanı adıyla eşleşen bir dizeye ayarlanmalıdır.

Bu komut başarılı olursa, DLT işlem hattı yapılandırmanız artık diğer çalışma alanlarına yüklenip çalıştırılabilen ve hesabınızdaki diğer Azure Databricks kullanıcılarıyla kolayca paylaşılabilen bir dış projeye sahip olursunuz.

Sorun giderme

Sorun Çözüm
bundle generate çalıştırırken "databricks.yml bulunamadı" hatası Şu anda bundle generate komutu paket yapılandırma dosyasını (databricks.yml) otomatik olarak oluşturmaz. dosyayı databricks bundle init kullanarak veya el ile oluşturmanız gerekir.
Mevcut işlem hattı ayarları, oluşturulan işlem hattı YAML yapılandırmasındaki değerlerle eşleşmiyor İşlem hattı kimliği, paket yapılandırma YML dosyasında görünmez. Diğer eksik ayarları fark ederseniz bunları el ile uygulayabilirsiniz.

Başarı ipuçları

  • Her zaman sürüm denetimini kullanın. Databricks Git klasörlerini kullanmıyorsanız, proje alt dizinlerinizi ve dosyalarınızı Git'te veya başka bir sürüm denetimindeki depoda veya dosya sisteminde depolayın.
  • İşlem hattınızı üretim ortamına dağıtmadan önce üretim dışı bir ortamda (örneğin, "geliştirme" veya "test" ortamı) test edin. Yanlışlıkla bir yanlış yapılandırma eklemek kolaydır.

Ek kaynaklar

Veri işlemeyi tanımlamak ve yönetmek için paketleri kullanma hakkında daha fazla bilgi için bkz: