Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Kaynak tablolar güncelleştirildiğinde işinizin çalışmasını tetikleme amacıyla tablo güncelleştirme tetikleyicilerini kullanabilirsiniz. Sürekli çalışan bir kümeye veya tabloyu güncelleştiren işlemlere gerek kalmadan yeni veriler hazır olduğunda bir iş çalıştırmak için bu özelliği kullanın.
Important
OpenSharing tabloları ve görünümlerinde, ayrıca sistem tablolarında iş tetikleme Beta aşamasındadır. Bkz. OpenSharing ve sistem tablolarına tetikleyici ekleme.
Tablo güncelleştirme tetikleyicileri nasıl çalışır?
Tablo güncelleştirme tetikleyicisi tablo güncelleştirmelerini denetler ve tablo güncelleştirildiğinde iş çalıştırılır. Tetikleyici, bir tablo güncelleştirildiğinde veya tetikleyici tarafından izlenen tüm tablolar güncelleştirildiğinde çalıştırılabilir. Tablo güncelleştirme tetikleyicileri, tabloları listeleme ve depolama konumundan güncelleştirmeleri okuma ile ilişkili bulut sağlayıcısı maliyetleri dışında ek maliyetler doğurmuyor.
Tablo güncelleştirme tetikleyicisi, güncelleştirmeler, birleştirmeler ve silmeler gibi veri değişiklikleri için bir veya daha fazla tabloyu izlemek üzere yapılandırılabilir. Bu tablolar, Unity Kataloğu Delta ve Iceberg tarafından yönetilen tablolar, Delta Lake ile desteklenen Unity Kataloğu dış tabloları, maddileştirilmiş görünümler, akış tabloları ve desteklenen tablolara bağlı Unity Kataloğu görünümleri veya metrik görünümleri olabilir. Birden çok tablo seçerken, tabloların herhangi biri veya tümü güncelleştirildiğinde bir işin tetiklenip tetiklenmediğini belirtebilirsiniz.
OpenSharing tablolarında ve görünümlerinde ve sistem tablolarında (Beta) tetikleyicileri de yapılandırabilirsiniz. Bkz. OpenSharing ve sistem tablolarına tetikleyici ekleme.
Tablo güncelleştirme tetikleyicisi ekleme
Varolan bir işe tablo güncelleştirme tetikleyicisi eklemek için:
Çalışma alanınızın sol gezinti bölmesinde İşler ve İşlem Hatları üzerine tıklayın.
İş listesinde, tetikleyici eklemek istediğiniz işin adına tıklayın.
Sağ bölmedeki Zamanlamalar ve Tetikleyiciler'in altında Tetikleyici ekle'ye tıklayın.
Tetikleyici türü'nde Tablo güncelleştirmesi'ne tıklayın.
Tablolar'ın altında, güncelleştirmeleri izlemek istediğiniz tabloları ekleyin.
Birden fazla tablo seçerseniz, Tüm tablolar güncelleştirildiğinde veya Herhangi bir tablo güncelleştirildiğinde bir işin tetiklenmesini isteyip istemediğinizi belirtmek için Tetikleyici altında bir seçenek yapılandırın.
(İsteğe bağlı) Gelişmiş'e tıklayarak gelişmiş seçenekleri yapılandırın.
- Tetikleyiciler arasındaki minimum süre (saniye): Önceki çalıştırma tamamlandıktan sonra yeni bir çalıştırma başlatmak için beklenmesi gereken minimum süre. Bu süre boyunca güncelleştirilen tablolar yalnızca bekleme süresi dolduktan sonra bir çalıştırmayı tetikler. İzlenen tablolar güncelleştirilse bile Azure Databricks çalıştırmayı tetiklemeden önce bu kadar süre bekler.
- Son değişiklikten sonra saniye cinsinden bekleme süresi: Tablo güncellemesinden sonra çalıştırmayı tetiklemek için beklenmesi gereken süre. Bu süre boyunca ek tablo güncelleştirmeleri zamanlayıcıyı sıfırlar. Bu ayar, tablo güncelleştirmeleri toplu olarak geldiğinde kullanılabilir ve tüm tablolar güncelleştirildikten sonra toplu işin tamamının işlenmesi gerekir.
Uyarı
Her iki seçenek de kullanılırsa, tetikleyici tetikleyiciler arasındaki en düşük süreyi bekler ve son değişiklik sonrasında ayarlanan süreyi bekler. Örneğin, en az 120 saniye süreniz varsa ve son 60 saniyelik değişikliklerden sonra beklemeniz gerekiyorsa, ilk 60 saniye içinde bir tablo güncelleştirmesi gerçekleşse bile en az 120 saniye geçene kadar çalıştırmayı tetiklemez. Buna ek olarak, bir güncelleştirme 5 saniyede, diğeri de 115 saniyede gelirse, son değişiklik sonrasındaki bekleme, çalıştırmanın 175 saniye sonraya kadar tetiklenmediği anlamına gelir.
Yapılandırmayı doğrulamak için Test tetikleyicisi'ne tıklayın.
Kaydet'e tıklayın.
Uyarı
Ayrıca İşler API'sinden tablo güncelleştirme tetikleyicilerini de yapılandırabilirsiniz.
trigger nesnesini bir jobs/create, jobs/update veya jobs/reset işlemine ekleyin.
Bu tetikleyiciyi daha sonra düzenlemek, duraklatmak veya kaldırmak için İş ayrıntıları bölmesinin Zamanlamalar ve Tetikleyiciler bölümünü kullanın. Bkz. Mevcut tetikleyiciyi yönetme.
OpenSharing ve sistem tablolarına tetikleyici ekleme
Important
Bu işlev Beta sürümündedir.
Yerel tablolara ek olarak, OpenSharing ve sistem tabloları aracılığıyla çalışma alanınızla paylaşılan verileri izlemek için tablo güncelleştirme tetikleyicilerini yapılandırabilirsiniz. Örneğin, sistem tablosuna yeni faturalama kayıtları her girişinde veya sağlayıcı paylaşılan tabloyu güncelleştirdiğinde bir işi tetikleyebilirsiniz.
Aşağıdaki paylaşılan nesneler üzerinde tetikleyebilirsiniz:
- OpenSharing tabloları
- OpenSharing görünümleri
- OpenSharing metrik görünümleri
- OpenSharing maddeselleştirilmiş görünümler
- OpenSharing akış tabloları
- Sistem tabloları
OpenSharing tetikleyicisi sınırlamalarını gözden geçirin, ardından Tablo güncelleştirme tetikleyicisi ekleme bölümündeki adımları izleyin ve izlemek istediğiniz paylaşılan tabloları, görünümleri veya sistem tablolarını seçin.
OpenSharing tetikleyicisi sınırlamaları
Bu özellik yalnızca Databricks-To-Databricks OpenSharing'i destekler. Databricks'ten Open'a paylaşım desteklenmiyor.
Paylaşılan tablolarda ve görünümlerde tetiklenmek için betanın hem alıcı hem de sağlayıcı tarafında etkinleştirilmesi gerekir:
- OpenSharing'de Tablo Güncelleştirme Tetikleyicileri (Alıcı): Tetikleyicinin oluşturulduğu alıcı çalışma alanında etkinleştirilen çalışma alanı düzeyinde bir beta.
- OpenSharing'de Tablo Güncelleştirme Tetikleyicileri (Sağlayıcı):Paylaşılan verilerin sahibi sağlayıcı hesabında etkinleştirilen hesap düzeyinde bir beta.
Sistem tabloları için yalnızca alıcı beta gereklidir. Etkinleştirmek için bkz. Azure Databricks önizlemelerini yönetme.
Tetikleyiciyi oluşturan kullanıcının paylaşılan nesne veya sistem tablosunda ayrıcalığı olmalıdır
SELECT.
Dosya olaylarıyla tablo güncelleştirme tetikleyicileri
En iyi performans ve ölçeklenebilirlik için, tabloların depolandığı dış konumda dosya olaylarını etkinleştirin . Bu tek seferlik kurulum adımı, tablo güncelleştirme tetikleyicilerinin verimliliğini artırır ve daha yüksek performanslı Otomatik Yükleyici ve dosya varış tetikleyicileri de dahil olmak üzere diğer özelliklerin kilidini açar.
Dosya olayları etkinleştirildiğinde Databricks, bulut sağlayıcısı değişiklik bildirimlerini kullanarak veri alımını otomatik olarak izler ve böylece daha hızlı ve daha verimli tablo güncelleştirmeleri elde edilir.
Tablolarınız meta veri deposu kök düzeyinde depolama alanındaysa, önce bunları bir dış konuma dönüştürün, ardından bu konumda dosya olaylarını etkinleştirin .
Dosya olayları hakkında sık sorulan sorular için bkz. Dosya olayları hakkında SSS.
Tablo güncelleştirme tetikleyicileriyle ilişkili iş parametreleri
Bir iş için tablo güncelleştirme tetikleyicilerini kullandığınızda, işte parametre değerleri olarak kullanmak üzere üç yeni dinamik değer başvurusu kullanılabilir.
-
{{job.trigger.table_update.updated_tables}}- Son iş çalıştırması sonrasında güncelleştirilen tabloların JSON listesi. -
{{job.trigger.table_update.`<catalog.schema.table>`.commit_timestamp.iso_datetime}}- görevi çalıştırmayı tetikleyen en son taahhüt zaman damgası. -
{{job.trigger.table_update.`<catalog.schema.table>`.version}}- iş çalıştırmasını tetikleyen en son işleme sürümü.
commit_timestamp ve version için, dinamik değer referansının birden çok sürümü vardır. İzlenen her tabloda, veri almak istediğiniz tablonun tam nitelikli adını içeren bir <catalog.schema.table> bulunur. Tetikleyicide izlenen yalnızca bir tablo varsa, <catalog.schema.table> olmadan bir değer görürsünüz. Örneğin, kullanabilirsiniz {{job.trigger.table_update.commit_timestamp.iso_datetime}}.
İş parametreleri hakkında daha fazla bilgi için bkz. İşleri parametreleştirme.
Başarısız tablo güncelleştirme tetikleyicilerinin bildirimlerini alma
Tablo güncelleştirme tetikleyicisi değerlendirmede başarısız olursa bildirim almak için, iş hatasında e-posta veya sistem hedef bildirimlerini yapılandırın. Bkz. Bir işe bildirim ekleme.
Sınırlamalar
Tablo güncelleştirme tetikleyicileri aşağıdaki sınırlamalara sahiptir:
- Tetikleyici başına en fazla 10 yönetilen veya Delta tablosu seçebilirsiniz.
- Dosya olayları olmayan konumlarda bulunan tablolar için, tablo güncelleştirme tetikleyicisiyle en fazla 1.000 iş yapılandırılabilir.
- OpenSharing nesneleri veya sistem tablolarında çalışma alanı başına en fazla 1.000 tablo güncelleştirme tetikleyicisi oluşturulabilir.
Unity Kataloğu görünümlerindeki tetikleyiciler aşağıdaki ek sınırlamalara sahiptir:
Tablo güncelleştirme tetikleyicileri yalnızca, tablo güncelleştirme tetikleyicileri tarafından da desteklenen tablolara bağlı Unity Kataloğu görünümlerini veya ölçüm görünümlerini izlemeyi destekler. Özellikle, aşağıdaki görünümler desteklenmez:
-
read_fileskullanan görünümler (dosyaları okuyan desteklenen bir tablodan okuyabilir, ancakread_filesdoğrudan kullanamaz). - Unity Kataloğu'nda olmayan tablolara bağlı görünümler.
- Federasyon tablolarına bağlı görünümler.
-
Desteklenmeyen bağımlılıklar içeren görünümler için tetikleyiciler oluşturma işlemi yine de başarılı olur, ancak desteklenmeyen bir bağımlılık güncelleştirildiğinde hiçbir iş çalıştırması tetiklenmez.
Tablo güncelleştirmesi tetikleyicileri, görünümün bağımlı tablolarındaki değişiklikleri izler ve bağımlı tablolardan herhangi biri güncelleştirildiyse görünümün güncelleştirildiğini dikkate alır. Görünüm tanımına göre filtrelenen veri değişiklikleri, bir iş çalıştırmasının tetiklenmesine yol açabilir.
Bir görünümün kaynak tabloları, tetikleyici başına 10 tablo sınırına dahil edilir.
- Örneğin, bir görünüm 11 tabloya bağlıysa, bunu tablo güncelleştirme tetikleyicisinde kullanmak mümkün değildir. Benzer şekilde, her biri 6 tabloya bağlı olan iki görünüme sahip bir tetikleyici 12 tablo olarak sayılır.
İzlenen görünüm başına ayrı bir 10 bağımlı görünüm sınırı vardır.
- Örneğin, bir görünüm diğer 11 görünüme bağlıysa, bu durum tetikleyici kuralı başına 10 tabloyu bozmasa bile bunu tablo güncelleştirme tetikleyicisinde kullanmak mümkün değildir.