Delta Live Tables için işlem hattı ayarlarını yapılandırın
Bu makalede Delta Live Tabloları için işlem hattı ayarlarını yapılandırmayla ilgili ayrıntılar yer alır. Delta Live Tables, işlem hattı ayarlarını yapılandırmak ve düzenlemek için bir kullanıcı arabirimine sahiptir. Kullanıcı arabiriminin JSON'da ayarları görüntüleme ve düzenleme seçeneği de vardır.
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 bir başvuru için bkz . Delta Live Tables işlem hattı yapılandırmaları.
Not
- İşlem kaynakları sunucusuz DLT işlem hatları (Genel Önizleme) için tam olarak yönetildiğinden, işlem hattı için Sunucusuz'nu seçtiğinizde Delta Live Tables kullanıcı arabiriminde Gelişmiş Otomatik Ölçeklendirme, küme ilkeleri, örnek türleri ve küme etiketleri gibi işlem ayarları kullanılamaz.
- İşlem hattı için JSON yapılandırmasındaki bir
clusters
nesneye işlem ayarlarını el ile ekleyemezsiniz ve bunu yapmaya çalıştığınızda hata oluşur.
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ı gereksinimleriniz için en iyi ö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ünPro
sürümü tümCore
ö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ünAdvanced
sürümü vePro
sürümlerininCore
ö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 beklentiler gibi özellikler içeriyorsa, hatanın nedenini açıklayan 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 izni 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 DLT işlem hatları (Genel Önizleme) için tam olarak yönetildiğinden işlem hattı için Sunucusuz 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 hemmaintenance
deupdates
kümelerine uygulanacak işlem ayarlarını tanımlar. Her iki kümeye de aynı ayarların uygulanması, bir depolama konumu için veri erişim kimlik bilgileri gibi gerekli yapılandırmaların bakım kümesine uygulanmasını sağlayarak bakım çalıştırmalarının güvenilirliğini artırır. - Etiket,
maintenance
yalnızcamaintenance
küme için geçerli olan işlem ayarlarını tanımlar. Etiketi,maintenance
etiket tarafındandefault
yapılandırılan ayarları geçersiz kılmak için de kullanabilirsiniz. - Etiket,
updates
yalnızcaupdates
küme için geçerli olan ayarları tanımlar. Kümeyeupdates
uygulanmaması gereken ayarları yapılandırmak içinmaintenance
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 default
updates
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 Tabloları, küme ayarları için Azure Databricks'te diğer işlemlerle benzer seçeneklere sahiptir. 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:
- Ayarlar düğmesine tıklayın.
- İş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 updates
maintenance
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.
Python veya SQL'de veri kümesi bildirimlerini 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:
- Bildirim ekle'ye tıklayın.
- Bildirim almak için bir veya daha fazla e-posta adresi girin.
- Yapılandırılan e-posta adreslerine gönderilecek her bildirim türünün onay kutusuna tıklayın.
- 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.
Kenar çubuğunda Delta Live Tables'a tıklayın.
İşlem hattının adını seçin.
Kebap menüsüne tıklayın ve İzinler'i seçin.
İzin Ayarları'nda Kullanıcı, Grup veya Hizmet Sorumlusu Seç... açılan menüsünü ve ardından bir kullanıcı, grup veya hizmet sorumlusu seçin.
İzin açılan menüsünden bir izin seçin.
Ekle'yi tıklatın.
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.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin