Databricks'te düzenlemeye genel bakış
Azure Databricks, daha büyük bir iş akışının parçası olarak birden çok görevi koordine edebilmeniz ve çalıştırabilmeniz için veri işleme iş yüklerini düzenlemeye yerleşik bir deneyim sağlar. Karmaşık iş akışlarını yönetmeyi kolaylaştıran sık ve yinelenebilir görevlerin yürütülmesini kolaylaştırabilir, iyileştirebilir ve zamanlayabilirsiniz.
Bu makalede, Databricks işlerini kullanarak üretim iş yüklerini yönetmeyle ilgili kavramlar ve seçenekler tanıtılıyor.
İşler nedir?
Databricks'te bir iş, Databricks'te görevleri bir iş akışında zamanlamak ve yönetmek için kullanılır. Yaygın veri işleme iş akışları etl iş akışlarını, çalışan not defterlerini ve makine öğrenmesi (ML) iş akışlarını ve dbt ve Azure Data Factory (ADF) gibi dış sistemlerle tümleştirmeyi içerir.
İşler bir veya daha fazla görevden oluşur ve görsel yazma kullanıcı arabirimi kullanarak dallanma (if/else deyimleri) veya döngü (her deyim için) gibi özel denetim akışı mantığını destekler. Görevler bir ETL iş akışındaki verileri yükleyebilir veya dönüştürebilir ya da makine öğrenmesi işlem hatlarınızın bir parçası olarak ML modellerini denetimli ve yinelenebilir bir şekilde derleyebilir, eğitebilir ve dağıtabilir.
Örnek: Günlük veri işleme ve doğrulama işi
Aşağıdaki örnekte Azure Databricks'teki bir iş gösterilmektedir.
Bu örnek iş aşağıdaki özelliklere sahiptir:
- İlk görev gelir verilerini alır.
- İkinci görev, null değerlerini kontrol etmek için bir if / else yapısı kullanmaktır.
- Aksi takdirde, bir dönüştürme görevi çalıştırılır.
- Aksi takdirde, veri kalitesi doğrulamasına sahip bir not defteri görevi çalıştırır.
- Her gün saat 11:29'da çalışacak şekilde zamanlanmıştır.
Kendi işinizi oluşturmaya hızlı bir giriş yapmak için bkz. Azure Databricks işiyle ilk iş akışınızı oluşturma.
Yaygın kullanım örnekleri
Temel veri mühendisliği ilkelerinden gelişmiş makine öğrenmesi ve sorunsuz araç tümleştirmesine kadar bu yaygın kullanım örnekleri modern analiz, iş akışı otomasyonu ve altyapı ölçeklenebilirliğini destekleyen özelliklerin ölçeğini gösterir.
Düzenleme kavramları
Azure Databricks'te düzenlemeyi kullanırken üç ana kavram vardır: işler, görevler ve tetikleyiciler.
İş - Bir iş, işlemlerinizi koordine etmenin, zamanlamanın ve çalıştırmanın birincil kaynaklarından biridir. İşler, Azure Databricks not defteri çalıştıran tek bir görevden koşullu mantık ve bağımlılıklara sahip yüzlerce göreve kadar karmaşıklık açısından farklılık gösterebilir. Bir işteki görevler, Yönlendirilmiş Bir Döngüsel Graf (DAG) tarafından görsel olarak temsil edilir. İşin özelliklerini belirtebilirsiniz, örneğin:
- Tetikleyici - bu, işin ne zaman çalıştırılacağını tanımlar.
- Parametreler - iş içindeki görevlere otomatik olarak gönderilen çalışma zamanı parametreleri.
- Bildirimler - bir iş başarısız olduğunda veya çok uzun sürdüğünde gönderilecek e-postalar veya web kancaları.
- Git - iş görevleri için kaynak denetimi ayarları.
görev - Görev, bir işin içindeki belirli bir çalışma birimidir. Her görev, aşağıdakileri içeren çeşitli işlemler gerçekleştirebilir:
- Bir defter görevi, bir Databricks defterini çalıştırır. Not defterinin yolunu ve gerekli olan tüm parametreleri belirtirsiniz.
- Bir işlem hattı görevi, bir işlem hattını çalıştırır. Gerçekleştirilmiş görünüm veya akış tablosu gibi mevcut bir DLT işlem hattı belirtebilirsiniz.
- Python betik görevleri bir Python dosyası çalıştırır. Dosyanın yolunu ve gerekli parametreleri sağlarsınız.
Birçok görev türü vardır. Tam liste için bkz. görev türleri. Görevlerin diğer görevlere bağımlılıkları olabilir ve diğer görevleri koşullu olarak çalıştırarak koşullu mantık ve bağımlılıklarla karmaşık iş akışları oluşturmanıza olanak tanır.
Tetikleyici - Tetikleyici, belirli koşullara veya olaylara göre bir işin çalıştırılmasını başlatan bir mekanizmadır. Tetikleyici, işi zamanlanmış bir saatte çalıştırma (örneğin, her gün 02:00) veya bulut depolama alanına yeni veriler geldiğinde iş çalıştırma gibi olay tabanlı olabilir.
İzleme ve gözlemlenebilirlik
İşler, izleme ve gözlemlenebilirlik için yerleşik destek sağlar. Aşağıdaki konular bu desteğe genel bir bakış verir. İşleri izleme ve düzenleme hakkında daha fazla ayrıntı için bkz. Databricks İşleri için İzleme ve Gözlemlenebilirlik .
kullanıcı arabirimi İş izleme ve gözlemlenebilirliği - Azure Databricks kullanıcı arabiriminde iş sahibi ve son çalıştırmanın sonucu gibi ayrıntılar da dahil olmak üzere işleri görüntüleyebilir ve iş özelliklerine göre filtreleyebilirsiniz. İş yürütmelerinin geçmişini görüntüleyebilir ve her bir görev hakkında ayrıntılı bilgi elde edebilirsiniz.
İş çalıştırma durumu ve ölçümleri - Databricks, iş çalıştırma başarısını bildirir ve her bir görevin günlüklerini ve ölçümlerini kaydederek sorunları tanılamak ve performansı anlamak için bilgi sağlar.
Bildirimler ve uyarılar - İş olayları için bildirimleri e-posta, Slack, özel web kancaları ve diğer birçok seçenek aracılığıyla ayarlayabilirsiniz.
Sistem tabloları aracılığıyla Özel sorgular - Azure Databricks, hesap genelinde iş çalıştırmalarını ve görevlerini kaydeden sistem tabloları sağlar. İş performansını ve maliyetlerini sorgulamak ve analiz etmek için bu tabloları kullanabilirsiniz. İş akışlarınızın sistem durumunu ve performansını izlemeye yardımcı olmak için iş ölçümlerini ve eğilimlerini görselleştirmek için panolar oluşturabilirsiniz.
Sınırlamalar
Şu sınırlamalar geçerlidir:
- Çalışma alanı 2000 eşzamanlı görev çalıştırması ile sınırlıdır. Hemen başlatılamayan bir çalıştırma istediğinizde
429 Too Many Requests
yanıtı döndürülür. - Bir çalışma alanının bir saat içinde oluşturabileceği iş sayısı 10000 ile sınırlıdır (bu, "çalıştırma gönder" işlevini de içerir). Bu sınır REST API ve not defteri iş akışları tarafından oluşturulan işleri de etkiler.
- Çalışma alanı en fazla 12000 kayıtlı görev içerebilir.
- Bir iş en fazla 100 görev içerebilir.
İş akışlarını program aracılığıyla yönetebilir miyim?
Databricks,aşağıdakiler dahil olmak üzere iş akışlarınızı program aracılığıyla zamanlamanıza ve düzenlemenize olanak sağlayan araçlara ve API'lere sahiptir:
- Databricks CLI
- Databricks Varlık Paketleri
- Visual Studio Code için Databricks uzantısı
- Databricks SDK'ları
- Görevler REST API'si
İşleri oluşturmak ve yönetmek için araçları ve API'leri kullanma örnekleri için bkz. İş oluşturma ve yönetimi otomatikleştirme. Kullanılabilir tüm geliştirici araçlarıyla ilgili belgeler için bkz. Yerel geliştirme araçları.
Dış araçlar, iş akışlarını program aracılığıyla zamanlamak için Databricks araçlarını ve API'lerini kullanır. Azure Data Factory veya Apache AirFlow gibi araçları kullanarak işlerinizi zamanlayabilirsiniz.
Apache AirFlow ile iş akışı düzenleme
Apache Airflow kullanarak veri iş akışlarınızı yönetebilir ve zamanlayabilirsiniz. Airflow ile iş akışınızı bir Python dosyasında tanımlarsınız ve Airflow iş akışını zamanlamayı ve çalıştırmayı yönetir. Bkz. Apache Airflow ile Azure Databricks işlerini düzenleme.
Azure Data Factory ile iş akışı düzenleme
Azure Data Factory (ADF), otomatik veri işlem hatlarında veri depolama, taşıma ve işleme hizmetleri oluşturmanıza olanak tanıyan bir bulut veri tümleştirme hizmetidir. ADF'yi kullanarak bir Azure Databricks işini ADF işlem hattının bir parçası olarak düzenleyebilirsiniz.
ADF ayrıca Databricks not defterlerini, Python betiklerini veya ADF işlem hattındaki JAR'lerde paketlenmiş kodu çalıştırmaya yönelik yerleşik desteğe sahiptir.
Databricks not defterini bir ADF işlem hattında çalıştırmayı öğrenmek için bkz . Azure Data Factory'de Databricks not defteri etkinliğiyle Databricks not defteri çalıştırma ve ardından Databricks not defteri çalıştırarak verileri dönüştürme.
ADF işlem hattında Python betiğini çalıştırmayı öğrenmek için bkz . Azure Databricks'te Python etkinliği çalıştırarak verileri dönüştürme.
ADF işlem hattında JAR içinde paketlenmiş kodu çalıştırmayı öğrenmek için bkz . Azure Databricks'te JAR etkinliği çalıştırarak verileri dönüştürme.