Delta Live Tables için işlem hattı ayarlarını yapılandırma

Bu makalede Delta Live Tabloları için işlem hattı ayarlarını yapılandırmayla ilgili ayrıntılar sağlanır. Delta Live Tables, işlem hattı ayarlarını yapılandırmak ve düzenlemek için bir kullanıcı arabirimi sağlar. Kullanıcı arabirimi, JSON'da ayarları görüntüleme ve düzenleme seçeneği de sağlar.

Not

Ayarların çoğunu kullanıcı arabirimi veya JSON belirtimi ile yapılandırabilirsiniz. Bazı gelişmiş seçenekler yalnızca JSON yapılandırması kullanılarak kullanılabilir.

Databricks, kullanıcı arabirimini kullanarak Delta Live Tables ayarları hakkında bilgi sahibi olunmanızı önerir. Gerekirse, çalışma alanında JSON yapılandırmasını doğrudan düzenleyebilirsiniz. JSON yapılandırma dosyaları, işlem hatlarını yeni ortamlara dağıtırken veya CLI veya REST API kullanırken de yararlıdır.

Delta Live Tables JSON yapılandırma ayarlarına tam başvuru için bkz . Delta Live Tables işlem hattı yapılandırmaları.

Not

İşlem kaynakları sunucusuz işlem hatları için tamamen yönetildiğinden, işlem hattı için Sunucusuz (Genel Önizleme) seçeneğini belirlediğinizde Gelişmiş Otomatik Ölçeklendirme, küme ilkeleri, örnek türleri ve küme etiketleri gibi işlem ayarları kullanılamaz.

Yapılandırma parametrelerini sunucusuz bir işlem hattına geçirmeye devam edebilirsiniz, ancak JSON yapılandırmasındaki bir clusters nesnede ayarlanan tüm parametreler yoksayılır.

Sunucusuz DLT işlem hatlarını etkinleştirme hakkında bilgi edinmek için Azure Databricks hesap ekibinize başvurun.

Bir ürün sürümü seçin

İşlem hattı gereksinimlerinize en uygun özelliklere sahip Delta Live Tables ürün sürümünü seçin. Aşağıdaki ürün sürümleri kullanılabilir:

  • Core akış alma iş yüklerini çalıştırmak için. Core İşlem hattınızda değişiklik verileri yakalama (CDC) veya Delta Live Tables beklentileri gibi gelişmiş özellikler gerekmiyorsa sürümü seçin.
  • Pro akış alma ve CDC iş yüklerini çalıştırmak için. Ürün Pro sürümü tüm Core özelliklerin yanı sıra kaynak verilerdeki değişikliklere göre tabloların güncelleştirilmesini gerektiren iş yükleri için de destek sunar.
  • Advanced akış alma iş yüklerini, CDC iş yüklerini ve beklenti gerektiren iş yüklerini çalıştırmak için. Ürün Advanced sürümü ve Pro sürümlerinin Core özelliklerini destekler ve ayrıca Delta Live Tables beklentileriyle veri kalitesi kısıtlamalarının uygulanmasını destekler.

İşlem hattı oluştururken veya düzenlerken ürün sürümünü seçebilirsiniz. Her işlem hattı için farklı bir sürüm seçebilirsiniz. Delta Live Tables ürün sayfasına bakın.

Not

İşlem hattınız seçili ürün sürümü tarafından desteklenmeyen özellikler (örneğin, beklentiler) içeriyorsa, hatanın nedenini içeren bir hata iletisi alırsınız. Ardından uygun sürümü seçmek için işlem hattını düzenleyebilirsiniz.

İşlem hattı modu seçme

İşlem hattınızı sürekli olarak veya işlem hattı moduna göre el ile tetikleyicilerle güncelleştirebilirsiniz. Bkz . Sürekli ve tetiklenen işlem hattı yürütme karşılaştırması.

Küme ilkesi seçme

Kullanıcıların Delta Live Tables işlem hatlarını yapılandırmak ve güncelleştirmek için işlem dağıtma izinleri olmalıdır. Çalışma alanı yöneticileri, kullanıcılara Delta Live Tables için işlem kaynaklarına erişim sağlamak üzere küme ilkelerini yapılandırabilir. Bkz . Delta Live Tables işlem hattı işlem hattında sınırları tanımlama.

Not

  • Küme ilkeleri isteğe bağlıdır. Delta Live Tables için gereken işlem ayrıcalıklarınızın eksik olup olmadığını çalışma alanı yöneticinize danışın.

  • Küme ilkesi varsayılan değerlerinin doğru uygulandığından emin olmak için true, işlem hattı yapılandırmanızdaki küme yapılandırmalarında değerini olarak ayarlayınapply_policy_default_values:

    {
      "clusters": [
        {
          "label": "default",
          "policy_id": "<policy-id>",
          "apply_policy_default_values": true
        }
      ]
    }
    

Kaynak kod kitaplıklarını yapılandırma

İşlem hattınızı tanımlayan kaynak kodunu yapılandırmak için Delta Live Tables kullanıcı arabirimindeki dosya seçiciyi kullanabilirsiniz. İşlem hattı kaynak kodu Databricks not defterlerinde veya çalışma alanı dosyalarında depolanan SQL veya Python betiklerinde tanımlanır. İşlem hattınızı oluştururken veya düzenlerken, bir veya daha fazla not defteri veya çalışma alanı dosyası ya da not defterleri ile çalışma alanı dosyalarının birleşimini ekleyebilirsiniz.

Delta Live Tabloları işlem hattınızın işleme grafiğini oluşturmak üzere veri kümesi bağımlılıklarını otomatik olarak analiz ettiğinden kaynak kod kitaplıklarını istediğiniz sırayla ekleyebilirsiniz.

JSON dosyasını, çalışma alanı dosyalarında depolanan SQL ve Python betiklerinde tanımlanan Delta Live Tables kaynak kodunu içerecek şekilde de değiştirebilirsiniz. Aşağıdaki örnek not defterlerini ve çalışma alanı dosyalarını içerir:

{
  "name": "Example pipeline 3",
  "storage": "dbfs:/pipeline-examples/storage-location/example3",
  "libraries": [
    { "notebook": { "path": "/example-notebook_1" } },
    { "notebook": { "path": "/example-notebook_2" } },
    { "file": { "path": "/Workspace/Users/<user-name>@databricks.com/Apply_Changes_Into/apply_changes_into.sql" } },
    { "file": { "path": "/Workspace/Users/<user-name>@databricks.com/Apply_Changes_Into/apply_changes_into.py" } }
  ]
}

Depolama konumu belirtme

Hive meta veri deposunda yayımlayan bir işlem hattı için depolama konumu belirtebilirsiniz. Konum belirtmek için birincil motivasyon, işlem hattınız tarafından yazılan verilerin nesne depolama konumunu denetlemektir.

Delta Live Tables işlem hatları için tüm tablolar, veriler, denetim noktaları ve meta veriler Delta Live Tables tarafından tam olarak yönetildiğinden, Delta Live Tables veri kümeleriyle etkileşimin çoğu Hive meta veri deposuna veya Unity Kataloğu'na kaydedilmiş tablolar aracılığıyla gerçekleşir.

İşlem hattı çıkış tabloları için hedef şema belirtme

İsteğe bağlı olsa da, yeni bir işlem hattı için geliştirme ve test aşamalarının ötesine geçerken işlem hattınız tarafından oluşturulan tabloları yayımlamak için bir hedef belirtmeniz gerekir. Bir hedefte işlem hattı yayımlamak, veri kümelerini Azure Databricks ortamınızın başka bir yerinde sorgulamak için kullanılabilir hale getirir. Bkz . Delta Live Tablolarından Hive meta veri deposuna veri yayımlama veya Delta Live Tables işlem hatlarınızla Unity Kataloğu'nu kullanma.

İşlem ayarlarınızı yapılandırma

Not

İşlem kaynakları sunucusuz işlem hatları için tam olarak yönetildiğinden işlem hattı için Sunucusuz (Genel Önizleme) seçeneğini belirlediğinizde işlem ayarları kullanılamaz.

Her Delta Live Tables işlem hattının iki ilişkili kümesi vardır:

  • Küme işlem updates hattı güncelleştirmelerini işler.
  • Küme günlük maintenance bakım görevlerini çalıştırır.

Bu kümeler tarafından kullanılan yapılandırma, işlem hattı ayarlarınızda belirtilen öznitelik tarafından clusters belirlenir.

Küme etiketlerini kullanarak yalnızca belirli bir küme türüne uygulanan işlem ayarları ekleyebilirsiniz. İşlem hattı kümelerini yapılandırırken kullanabileceğiniz üç etiket vardır:

Not

Yalnızca bir küme yapılandırması tanımlıyorsanız küme etiketi ayarı atlanabilir. Etiket default için bir ayar sağlanmazsa, etiket küme yapılandırmalarına uygulanır. Küme etiketi ayarı yalnızca farklı küme türleri için ayarları özelleştirmeniz gerekiyorsa gereklidir.

  • Etiket, default hem hem maintenance de updates kümelerine uygulanacak işlem ayarlarını tanımlar. Aynı ayarların her iki kümeye de uygulanması, bakım kümesine gerekli yapılandırmaların (örneğin, bir depolama konumu için veri erişim kimlik bilgilerinin) uygulanmasını sağlayarak bakım çalıştırmalarının güvenilirliğini artırır.
  • Etiket, maintenance yalnızca maintenance kümeye uygulanacak işlem ayarlarını tanımlar. Etiketi, maintenance etiket tarafından default yapılandırılan ayarları geçersiz kılmak için de kullanabilirsiniz.
  • Etiket, updates yalnızca updates kümeye uygulanacak ayarları tanımlar. Kümeye updates uygulanmaması gereken ayarları yapılandırmak için maintenance etiketi kullanın.

ve updates etiketleri kullanılarak default tanımlanan Ayarlar, kümenin son yapılandırmasını oluşturmak üzere updates birleştirilir. Aynı ayar hem hem de defaultupdates etiketler kullanılarak tanımlanırsa, etiketle updates tanımlanan ayar etiketle default tanımlanan ayarı geçersiz kılar.

Aşağıdaki örnek, yalnızca küme yapılandırmasına eklenen bir Spark yapılandırma parametresini updates tanımlar:

{
  "clusters": [
    {
      "label": "default",
      "autoscale": {
        "min_workers": 1,
        "max_workers": 5,
        "mode": "ENHANCED"
      }
    },
    {
      "label": "updates",
      "spark_conf": {
         "key": "value"
      }
    }
  ]
}

Delta Live Tables, küme ayarları için Azure Databricks'te diğer işlemlerle benzer seçenekler sağlar. Diğer işlem hattı ayarları gibi, kümeler için JSON yapılandırmasını da kullanıcı arabiriminde bulunmayan seçenekleri belirtmek üzere değiştirebilirsiniz. Bkz. İşlem.

Not

  • Delta Live Tables çalışma zamanı işlem hattı kümelerinin yaşam döngüsünü yönettiğinden ve Databricks Runtime'ın özel bir sürümünü çalıştırdığından, spark sürümü veya küme adları gibi bir işlem hattı yapılandırmasında bazı küme ayarlarını el ile ayarlayamazsınız. Bkz. Kullanıcı ayarlanamaz küme öznitelikleri.
  • Delta Live Tables işlem hatlarını Photon'ı kullanmak için yapılandırabilirsiniz. Bkz . Photon nedir?.

İşlem hattını çalıştırmak için örnek türlerini seçme

Delta Live Tables varsayılan olarak işlem hattınızı çalıştıran sürücü ve çalışan düğümleri için örnek türlerini seçer, ancak örnek türlerini el ile de yapılandırabilirsiniz. Örneğin, işlem hattı performansını geliştirmek veya işlem hattınızı çalıştırırken bellek sorunlarını gidermek için örnek türlerini seçmek isteyebilirsiniz. REST API ile işlem hattı oluştururken veya düzenlerkenya da Delta Live Tables kullanıcı arabiriminde örnek türlerini yapılandırabilirsiniz.

Delta Live Tables kullanıcı arabiriminde işlem hattı oluştururken veya düzenlerken örnek türlerini yapılandırmak için:

  1. Ayarlar düğmesine tıklayın.
  2. İşlem hattı ayarlarının Gelişmiş bölümünde Çalışan türü ve Sürücü türü açılan menülerinde işlem hattı için örnek türlerini seçin.

İşlem hattının JSON ayarlarında örnek türlerini yapılandırmak için JSON düğmesine tıklayın ve küme yapılandırmasına örnek türü yapılandırmalarını girin:

Not

Kümeye maintenance gereksiz kaynaklar atanmasını önlemek için, bu örnek etiketi kullanarak updates yalnızca updates küme için örnek türlerini ayarlar. Örnek türlerini hem hem de updatesmaintenance kümelere atamak için etiketi kullanın default veya etiketin ayarını atayın. Etiket default için ayar sağlanmazsa, etiket işlem hattı kümesi yapılandırmalarına uygulanır. Bkz . İşlem ayarlarınızı yapılandırma.

{
  "clusters": [
    {
      "label": "updates",
      "node_type_id": "Standard_D12_v2",
      "driver_node_type_id": "Standard_D3_v2",
      "..." : "..."
    }
  ]
}

Verimliliği artırmak ve kaynak kullanımını azaltmak için otomatik ölçeklendirmeyi kullanma

İşlem hatlarınızın küme kullanımını iyileştirmek için Gelişmiş Otomatik Ölçeklendirme'yi kullanın. Gelişmiş Otomatik Ölçeklendirme, yalnızca sistem bu kaynakların işlem hattı işlem hızını artıracağını belirlerse ek kaynaklar ekler. Kaynaklar artık gerekli olmadığında serbest kalır ve tüm işlem hattı güncelleştirmeleri tamamlandığında kümeler kapatılır.

Yapılandırma ayrıntıları da dahil olmak üzere Gelişmiş Otomatik Ölçeklendirme hakkında daha fazla bilgi edinmek için bkz . Gelişmiş Otomatik Ölçeklendirme ile Delta Live Tables işlem hatlarının küme kullanımını iyileştirme.

İşlem kapatmayı geciktirme

Delta Live Tables kümesi kullanımda olmadığında otomatik olarak kapatıldığından, küme yapılandırmanızda autotermination_minutes ayarını yapan bir küme ilkesi hatayla sonuçlanır. Küme kapatma davranışını denetlemek için geliştirme veya üretim modunu veya işlem hattı yapılandırmasındaki ayarı kullanabilirsiniz pipelines.clusterShutdown.delay . Aşağıdaki örnekte pipelines.clusterShutdown.delay değeri 60 saniye olarak ayarlanır:

{
    "configuration": {
      "pipelines.clusterShutdown.delay": "60s"
    }
}

production modu etkinleştirildiğinde pipelines.clusterShutdown.delay için varsayılan değer 0 seconds olur. development modu etkinleştirildiğinde varsayılan değer 2 hours olur.

Tek düğüm kümesi oluşturma

Küme ayarlarında 0 olarak ayarlarsanıznum_workers, küme Tek Düğüm kümesi olarak oluşturulur. Bir otomatik ölçeklendirme kümesi yapılandırıp min_workers ayarı 0 ve max_workers ayarı 0 olarak ayarlandığında da Tek Düğümlü küme oluşturulur.

Bir otomatik ölçeklendirme kümesi yapılandırıp yalnızca min_workers 0 olarak ayarlarsanız, küme Tek Düğüm kümesi olarak oluşturulmaz. Kümenin sonlandırılana kadar her zaman en az bir etkin çalışanı vardır.

Delta Live Tables'da Tek Düğümlü bir küme oluşturmak için örnek küme yapılandırması:

{
    "clusters": [
      {
        "num_workers": 0
      }
    ]
}

Küme etiketlerini yapılandırma

İşlem hattı kümelerinizin kullanımını izlemek için küme etiketlerini kullanabilirsiniz. İşlem hattı oluştururken veya düzenlerken veya işlem hattı kümelerinizin JSON ayarlarını düzenleyerek Delta Live Tables kullanıcı arabirimine küme etiketleri ekleyin.

Bulut depolama yapılandırması

Azure depolamaya erişmek için, küme yapılandırmalarınızdaki ayarları kullanarak spark.conf erişim belirteçleri de dahil olmak üzere gerekli parametreleri yapılandırmanız gerekir. Azure Data Lake Storage 2. Nesil (ADLS 2. Nesil) depolama hesabına erişimi yapılandırma örneği için bkz. İşlem hattında gizli dizilerle depolama kimlik bilgilerine güvenli erişim.

İşlem hatlarını parametreleştirme

Veri kümelerinizi tanımlayan Python ve SQL kodu, işlem hattının ayarları tarafından parametrelendirilebilir. Parametreleştirme aşağıdaki kullanım örneklerini etkinleştirir:

  • Uzun yolları ve diğer değişkenleri kodunuzdan ayırma.
  • Test sürecini hızlandırmak için geliştirme veya hazırlama ortamlarında işlenen veri miktarını azaltma.
  • Birden çok veri kaynağından işlemek için aynı dönüştürme mantığını yeniden kullanma.

Aşağıdaki örnek, geliştirme işlem hattını giriş verilerinin startDate bir alt kümesiyle sınırlamak için yapılandırma değerini kullanır:

CREATE OR REFRESH LIVE TABLE customer_events
AS SELECT * FROM sourceTable WHERE date > '${mypipeline.startDate}';
@dlt.table
def customer_events():
  start_date = spark.conf.get("mypipeline.startDate")
  return read("sourceTable").where(col("date") > start_date)
{
  "name": "Data Ingest - DEV",
  "configuration": {
    "mypipeline.startDate": "2021-01-02"
  }
}
{
  "name": "Data Ingest - PROD",
  "configuration": {
    "mypipeline.startDate": "2010-01-02"
  }
}

İşlem hatları tetikleyici aralığı

Bir tabloyu veya işlem hattının tamamını güncelleştiren bir akışın tetikleyici aralığını denetlemek için kullanabilirsiniz pipelines.trigger.interval . Tetiklenen işlem hattı her tabloyu yalnızca bir kez işlediğinden pipelines.trigger.interval , yalnızca sürekli işlem hatlarıyla kullanılır.

Databricks, akış ve toplu sorgular için farklı varsayılan değerler nedeniyle tek tek tablolarda ayar pipelines.trigger.interval yapmanızı önerir. İşlem hattındaki değeri yalnızca işlem hattı grafiğinin tamamı için güncelleştirmeleri denetlemeniz gerektiğinde ayarlayın.

Python'da veya SET SQL'de kullanarak spark_conf bir tabloda ayarlarsınızpipelines.trigger.interval:

@dlt.table(
  spark_conf={"pipelines.trigger.interval" : "10 seconds"}
)
def <function-name>():
    return (<query>)
SET pipelines.trigger.interval=10 seconds;

CREATE OR REFRESH LIVE TABLE TABLE_NAME
AS SELECT ...

İşlem hattında ayarlamak pipelines.trigger.interval için işlem hattı ayarlarında nesneye configuration ekleyin:

{
  "configuration": {
    "pipelines.trigger.interval": "10 seconds"
  }
}

Yönetici olmayan kullanıcıların Unity Kataloğu etkin işlem hattından sürücü günlüklerini görüntülemesine izin verme

Varsayılan olarak, yalnızca işlem hattı sahibi ve çalışma alanı yöneticileri Unity Kataloğu etkin işlem hattını çalıştıran kümeden sürücü günlüklerini görüntüleme iznine sahiptir. İşlem hattı ayarlarında nesneye aşağıdaki Spark yapılandırma parametresini ekleyerek CAN MANAGE, CAN VIEW veya CAN RUN izinlerine sahip herhangi bir kullanıcının sürücü günlüklerineconfiguration erişimi etkinleştirebilirsiniz:

{
  "configuration": {
    "spark.databricks.acl.needAdminPermissionToViewLogs": "false"
  }
}

İşlem hattı olayları için e-posta bildirimleri ekleme

Aşağıdaki durumlarda bildirim almak için bir veya daha fazla e-posta adresi yapılandırabilirsiniz:

  • İşlem hattı güncelleştirmesi başarıyla tamamlar.
  • İşlem hattı güncelleştirmesi yeniden denenebilir veya yeniden denenemeyen bir hatayla başarısız olur. Tüm işlem hattı hataları için bir bildirim almak için bu seçeneği belirleyin.
  • İşlem hattı güncelleştirmesi yeniden denenemeyen (önemli) bir hatayla başarısız oluyor. Yalnızca yeniden denenemeyen bir hata oluştuğunda bildirim almak için bu seçeneği belirleyin.
  • Tek bir veri akışı başarısız olur.

İşlem hattı oluştururken veya düzenlerken e-posta bildirimlerini yapılandırmak için:

  1. Bildirim ekle'ye tıklayın.
  2. Bildirim almak için bir veya daha fazla e-posta adresi girin.
  3. Yapılandırılan e-posta adreslerine gönderilecek her bildirim türünün onay kutusuna tıklayın.
  4. Bildirim ekle'ye tıklayın.

SCD tür 1 sorguları için silinmiş öğe yönetimini denetleme

SCD tür 1 işlenirken olaylar için kaldırıldı işareti yönetiminin davranışını denetlemek için DELETE aşağıdaki ayarlar kullanılabilir:

  • pipelines.applyChanges.tombstoneGCThresholdInSeconds: Bu değeri, sıra dışı veriler arasındaki beklenen en yüksek aralıkla (saniye cinsinden) eşleşecek şekilde ayarlayın. Varsayılan değer 172800 saniyedir (2 gün).
  • pipelines.applyChanges.tombstoneGCFrequencyInSeconds: Bu ayar, saniyeler içinde temizleme için mezar taşlarının ne sıklıkta denetleniyor olduğunu denetler. Varsayılan değer 1800 saniyedir (30 dakika).

Bkz . DEĞIŞIKLIKLERI UYGULAMA API'si: Delta Live Tablolarında değişiklik verilerini yakalamayı basitleştirme.

İşlem hattı izinlerini yapılandırma

İşlem hattı üzerindeki izinleri yönetmek için veya IS OWNER iznine sahip CAN MANAGE olmanız gerekir.

  1. Kenar çubuğunda Delta Live Tables'a tıklayın.

  2. İşlem hattının adını seçin.

  3. Kebap menüsüne Dikey Üç Noktatıklayın ve İzinler'i seçin.

  4. İzinler Ayarlar Kullanıcı, Grup veya Hizmet Sorumlusu Seç... açılan menüsünü ve ardından bir kullanıcı, grup veya hizmet sorumlusu seçin.

    İzinler Ayarlar iletişim kutusu

  5. İzin açılan menüsünden bir izin seçin.

  6. Ekle'yi tıklatın.

  7. Kaydet'e tıklayın.

Delta Live Tablolar için RocksDB durum depolarını etkinleştirme

İşlem hattını dağıtmadan önce aşağıdaki yapılandırmayı ayarlayarak RocksDB tabanlı durum yönetimini etkinleştirebilirsiniz:

{
  "configuration": {
     "spark.sql.streaming.stateStore.providerClass": "com.databricks.sql.streaming.state.RocksDBStateStoreProvider"
  }
}

RocksDB yapılandırma önerileri de dahil olmak üzere RocksDB durum deposu hakkında daha fazla bilgi edinmek için bkz . Azure Databricks'te RocksDB durum depounu yapılandırma.