Sunucusuz işlem için en iyi yöntemler

Azure Databricks üzerinde not defterleri, işler ve işlem hatları için sunucusuz işlem kullanırken üretkenliği en üst düzeye çıkarmak, maliyetleri azaltmak ve güvenilirliği artırmak için bu önerileri izleyin.

İş yüklerini sunucusuz işlem için geçirme

Önkoşullar, gerekli kod değişiklikleri, test stratejileri ve aşamalı dağıtım planı gibi klasik işlemden sunucusuz işleme geçişine ilişkin adım adım yönergeler için bkz. Klasik işlemden sunucusuz işleme geçiş.

Python paket sürümlerini belirtme

Sunucusuz işlem geçişi yaparken, yeniden üretilebilir ortamlar sağlamak için Python paketlerinizi belirli sürümlere sabitleyin. Sürüm belirtmezseniz, paket sunucusuz ortam sürümünü temel alan farklı bir sürüme çözümlenebilir ve bu da yeni paketlerin yüklenmesi gerektiğinde gecikme süresini artırabilir.

Örneğin, dosyanız requirements.txt aşağıdaki gibi belirli paket sürümlerini içermelidir:

numpy==2.2.2
pandas==2.2.3

Geçici görünümler için benzersiz adlar kullanma

Sunucusuz işlem, geçici görünümleri gevşek olarak değerlendiren bir istemci-sunucu mimarisi olan Spark Connect'i kullanır. Bu davranış klasik Spark mimarisinden farklıdır ve kod döngüde olduğu gibi aynı geçici görünüm adını yeniden kullanırken hatalara neden olabilir.

Hataları önlemek için kodunuzdaki tüm geçici görünümler için benzersiz adlar kullanın.

Ağ ve Bağlantı

Sunucusuz işlem, klasik Databricks işlemini bulut hesabınızdaki veri kaynaklarına bağlamanın yaygın bir yolu olan VPC eşlemesini desteklemez.

Bunun yerine sunucusuzdan özel bağlantı gerekiyorsa sunucusuzdan VPC'nizdeki kaynaklara özel uç noktalar oluşturabilirsiniz.

Özel bağlantı mümkün değilse veya gerekli değilse, databricks sunucusuz trafiğe izin veren bir güvenlik duvarı oluşturarak kaynaklarınızı korumaya devam edebilirsiniz.

Örneğin sunucusuz işlemden bağlantıyı etkinleştirmek için dış VPC'lerde izin verilenler listesine Azure Databricks giden IP kümesini ekleyebilirsiniz. Azure Databricks IP'ler değiştirilebilir, bu nedenle tek seferlik bir kopya kullanmak yerine izin verilenler listelerinizi güncel tutmak için otomasyon oluşturmanız gerekir. Daha fazla ayrıntı için bkz. Azure kaynakları için Azure ağ güvenlik çevresi (NSP) yapılandırma.

Kurumsal uygulamalara (Salesforce gibi) veya yönetilen veritabanlarına (MySQL gibi) bağlanmak için Lakeflow Connect'i kullanın.

Sunucusuz işlemden giden trafiği kısıtlamak ve izlemek için çalışma alanınız için çıkış denetimlerini yapılandırın. Bkz. Sunucusuz çıkış denetimi için ağ ilkelerini yönetme.

Sunucusuz ortam sürümleri

Sunucusuz işlem, geleneksel Databricks Runtime sürümleri yerine ortam sürümlerini kullanır. Bu, iş yükü uyumluluğunu yönetme şeklinizde bir değişimi temsil eder:

  • Databricks Runtime yaklaşımı: İş yükünüz için belirli bir Databricks Runtime sürümünü seçer ve uyumluluğu korumak için yükseltmeleri el ile yönetirsiniz.
  • Sunucusuz yaklaşım: Bir ortam sürümüne kod yazarsınız ve Azure Databricks temel sunucuyu bağımsız olarak yükselter.

Ortam sürümleri, iş yükünüzün uyumlu kalmasını sağlarken Azure Databricks iş yüklerinizde kod değişikliği gerektirmeden performans iyileştirmeleri, güvenlik iyileştirmeleri ve hata düzeltmeleri sağlar.

Her ortam sürümü, iş yükleri için geriye dönük uyumluluğu korurken güncelleştirilmiş sistem kitaplıkları, özellikler ve hata düzeltmeleri içerir. Azure Databricks, sürüm tarihinden itibaren üç yıl boyunca her ortam sürümünü destekler ve yükseltmeleri planlamak için öngörülebilir bir yaşam döngüsü sağlar.

Sunucusuz iş yükünüz için temel bir ortam seçmek için bkz. Temel ortam seçme. Mevcut ortam sürümleri ve özellikleri hakkında detaylar için Çevre sürümleri sayfasına bakınız.

Bağımlılıkları yönetme

Sunucusuz hesaplama, başlatma betiklerini desteklemez. Bunun yerine sunucusuz iş yüklerinizin kitaplıklarını yüklemek ve yönetmek için sunucusuz ortamları kullanın. Ortamlar, sonraki çalıştırmalar için başlatma gecikme süresini azaltan yüklü paketleri önbelleğe alır.

Özel bir depodaki kitaplıkları kullanmak için, ortam ayarlarınızda kimliği doğrulanmış depo erişimi için önceden imzalanmış URL'leri yapılandırın.

Performans modu seçme

Azure Databricks sunucusuz işlem, iş yükü türünüz temelinde hızı ve maliyeti dengelemenize olanak sağlayan iki performans modu sunar:

  • Performans için iyileştirilmiş mod (varsayılan): Hızlı başlangıç süreleri gerektiren etkileşimli iş yükleri için en iyi seçenektir. Azure Databricks, bekleme süresini en aza indirmek için sıcak işlem kaynakları havuzunu hazır tutar.
  • Standart mod: 4 ile 6 dakika arasında daha uzun başlatma sürelerini tolere edebilen otomatik toplu işler ve işlem hatları için en iyi yöntemdir. Standart mod, performans için iyileştirilmiş moda kıyasla maliyetleri 70% kadar azaltabilir. Standart mod, Lakeflow Jobs ve Lakeflow işlem hatları için kullanılabilir, ancak notebook'ler için kullanılamaz.

İş yükü gereksinimlerinize en uygun modu seçin. Başlatma gecikme süresinin kritik olmadığı zamanlanmış işler için Standart mod genellikle en iyi değeri sunar. Geçerli fiyatlandırma ayrıntıları için Databricks fiyatlandırma sayfasına bakın.

Akış iş yüklerini iyileştirme

Sunucusuz işlem, Trigger.AvailableNow ile yapılandırılmış akışı destekler. Zamana bağlı tetikleyici aralıkları desteklenmez. Desteklenen tetikleyiciler, kod örnekleri ve sürekli akış için alternatifler hakkında ayrıntılı bilgi için geçiş kılavuzunun akış bölümüne bakın.

kullanırken Trigger.AvailableNow, her tetikleyici kaynaktaki tüm kullanılabilir verileri işler ve bu da zaman tabanlı bir tetikleyiciden daha büyük mikro toplu işlemlere neden olabilir. Bellek yetersizliği hatalarını önlemek ve öngörülebilir performansı korumak için, ya maxFilesPerTrigger ya da maxBytesPerTrigger ayarlarını yaparak mikro paket başına işlenen veri miktarını sınırlayın.

Akış kullanım örneklerini doğru sunucusuz ürünle eşleyen bir karar kılavuzu için bkz: Sunucusuz bilgi işlemde akış.

Sunucusuz iş yüklerinde hata ayıklama

Spark kullanıcı arabirimi sunucusuz işlemde kullanılamaz. Bunun yerine sorgu profilini kullanarak sorgu performansını analiz edin ve iş yükleriyle ilgili sorunları giderin. Sorgu profili ayrıntılı yürütme bilgileri sağlar ve Azure Databricks kullanıcı arabirimindeki sorgu geçmişinden erişilebilir.

Dış sistemlerden veri alma

Alım için kullanabileceğiniz alternatif stratejiler şunlardır:

Alım alternatifleri

Sunucusuz işlem kullanırken, verilerinizi taşımadan sorgulamak için aşağıdaki özellikleri de kullanabilirsiniz.

  • Veri yinelemesini sınırlamak veya mümkün olan en yeni verileri sorguladığınızdan emin olmak istiyorsanız, Databricks OpenSharing kullanılmasını önerir. Bkz. OpenSharing nedir?.
  • Geçici raporlama ve kavram kanıtı çalışmaları için Lakehouse Federation, Unity Kataloğu tarafından yönetilen verileri taşımadan dış veritabanlarını doğrudan Azure Databricks sorgulamanızı sağlar. Bkz . Dış veritabanlarına ve kataloglara bağlanma.

Bu özelliklerden birini veya her ikisini de deneyin ve sorgu performansı gereksinimlerinizi karşılayıp karşılamadığına bakın.

Desteklenmeyen havuzlar

Havuz sistemi sunucusuz işlemden doğrudan yazma hedefi olarak desteklenmiyorsa, bu sistemin doğrudan Azure Databricks tablolardan okumasını sağlamak için Unity Kataloğu Iceberg REST Kataloğu'nu kullanabilirsiniz. Örneğin, Snowflake desteklenen bir sunucusuz havuz değildir, ancak Unity Kataloğu tarafından yönetilen tabloları okumak için bir Iceberg istemcisi olarak yapılandırılabilir.

Bu yaklaşım, verilerin çoğaltılmasını önler ve Unity Kataloğu'nu tüm okumalar için idare katmanı olarak tutar. Desteklenen istemciler ve yapılandırma adımları için bkz. Apache Iceberg istemcilerinden Access Azure Databricks tabloları.

Desteklenen Spark yapılandırmaları

Sunucusuz işlemde Spark yapılandırmasını otomatikleştirmek için Azure Databricks çoğu Spark yapılandırmasının el ile ayarlanması desteğini kaldırmıştır. Desteklenen Spark yapılandırma parametrelerinin listesini görüntülemek için bkz. Sunucusuz not defterleri ve işler için Spark özelliklerini yapılandırma.

Desteklenmeyen bir Spark yapılandırması ayarlarsanız sunucusuz işlem üzerinde çalışan iş başarısız olur.

Sunucusuz işlem maliyetini izleme

Sunucusuz işlemin maliyetini izlemenize yardımcı olması için kullanabileceğiniz birden çok özellik vardır:

  • Önceden yapılandırılmış bir kullanım panosunu içeri aktarma. Bkz. Kullanım panosunu içeri aktarma.