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:
- Pakete dönüştürmek istediğiniz önceden yapılandırılmış bir işlem hattına erişiminiz olduğundan emin olun.
- Paketi depolamak için bir klasör oluşturun veya hazırlayın (tercihen kaynak denetimli hiyerarşide).
- Azure Databricks CLI kullanarak mevcut işlem hattından paket için bir yapılandırma oluşturun.
- Tamamlandığından emin olmak için oluşturulan paket yapılandırmasını gözden geçirin.
- Paketi özgün işlem hattına bağlayın.
- 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:
- Yerel geliştirme makinenizde yüklü Databricks CLI. Databricks Varlık Paketlerini kullanmak için Databricks CLI sürüm 0.218.0 veya üzeri gereklidir.
- Bir paketle yöneteceğin mevcut DLT işlem hattının kimliği. Bu kimliği nasıl edineceğinizi öğrenmek için bkz. kullanıcı arabirimi üzerinden bir mevcut işlem hattı tanımını elde etme.
- Mevcut DLT işlem hattının çalıştığı Azure Databricks çalışma alanı için yetkilendirme. Azure Databricks CLI çağrılarınız için kimlik doğrulaması ve yetkilendirmeyi yapılandırmak için bkz. Azure Databricks kaynaklarına erişimi yetkilendirme.
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.)
Yerel makinenizde kopyalanan Git deposunun köküne gidin.
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
Geçerli çalışma dizininizi bu yeni klasörle değiştirin. Mesela:
cd ~/source/my-pipelines/ingestion/events/my-bundle
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ündedatabricks.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 production
gibi 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:
- Databricks Varlık Paketleri nedir?
- Databricks Varlık Paketleri ile DLT işlem hatlarını geliştirme. Yeni bir işlem hattı için, mevcut bir işlem hattı yerine, sizin sağladığınız ve kaynak denetimi altındaki bir not defteri kullanarak paket oluşturma konusunu ele alır.