Yapılandırılmış Akış tetikleyici aralıklarını yapılandırma

Apache Spark Yapılandırılmış Akış verileri artımlı olarak işler; Toplu işleme için tetikleyici aralığını denetlemek, neredeyse gerçek zamanlı işleme, veritabanlarını saatte 5 dakikada bir yenileme veya bir gün veya hafta boyunca tüm yeni verileri toplu işleme gibi iş yükleri için Yapılandırılmış Akış'ı kullanmanıza olanak tanır.

Databricks Otomatik Yükleyicisi verileri yüklemek için Yapılandırılmış Akış kullandığından tetikleyicilerin nasıl çalıştığını anlamak, istenen sıklıkta veri alırken maliyetleri denetleme konusunda size en büyük esnekliği sağlar.

Zamana bağlı tetikleyici aralıklarını belirtme

Yapılandırılmış Akış, zaman tabanlı tetikleyici aralıklarını "sabit aralıklı mikro toplu işler" olarak ifade eder. anahtar sözcüğünü processingTime kullanarak dize olarak bir zaman süresi belirtin, örneğin .trigger(processingTime='10 seconds').

Çok küçük (on saniyeden kısa) bir trigger aralık belirttiğinizde, sistem yeni verilerin gelip gelmediğini görmek için gereksiz denetimler gerçekleştirebilir. Gecikme süresi gereksinimlerini ve verilerin kaynağa ulaşma hızını dengelemek için işleme sürenizi yapılandırın.

Artımlı toplu işlem yapılandırma

Önemli

Databricks Runtime 11.3 LTS ve üzerinde Trigger.Once bu ayar kullanım dışıdır. Databricks, tüm artımlı toplu işlem iş yükleri için kullanmanızı Trigger.AvailableNow önerir.

Şimdi kullanılabilir tetikleyici seçeneği, kullanılabilir tüm kayıtları artımlı toplu iş olarak kullanır ve toplu iş boyutunu gibi maxBytesPerTrigger seçeneklerle yapılandırır (boyutlandırma seçenekleri veri kaynağına göre değişir).

Azure Databricks, birçok Yapılandırılmış Akış kaynağından artımlı toplu işlem için kullanılmasını Trigger.AvailableNow destekler. Aşağıdaki tablo, her veri kaynağı için gereken desteklenen en düşük Databricks Runtime sürümünü içerir:

Kaynak En Düşük Databricks Runtime sürümü
Dosya kaynakları (JSON, Parquet vb.) 9.1 LTS
Delta Lake 10.4 LTS
Otomatik Yükleyici 10.4 LTS
Apache Kafka 10.4 LTS
Kinesis 13.1

Varsayılan tetikleyici aralığı nedir?

Yapılandırılmış Akış varsayılan olarak 500ms sabit aralıklı mikro toplu işlemler olarak adlandırılır. Databricks, yeni verilerin gelip gelmediğini denetleme ve küçük toplu işlemleri işleme ile ilişkili maliyetleri en aza indirmek için her zaman uyarlanmış trigger bir değer belirtmenizi önerir.

Çalıştırmalar arasındaki tetikleyici aralıklarını değiştirme

Aynı denetim noktasını kullanırken çalıştırmalar arasındaki tetikleyici aralığını değiştirebilirsiniz.

Bir mikro toplu iş işlenirken Yapılandırılmış Akış işi durursa, yeni tetikleyici aralığı geçerli olmadan önce bu mikro toplu işin tamamlanması gerekir. Bu nedenle, tetikleyici aralığını değiştirdikten sonra önceden belirtilen ayarlarla bir mikro toplu işlem gözlemleyebilirsiniz.

Zaman tabanlı aralıktan kullanımına AvailableNowgeçerken bu, tüm kullanılabilir kayıtları artımlı toplu iş olarak işlemeden önce mikro toplu işlemle sonuçlanabilir.

Zaman AvailableNow tabanlı bir zaman aralığına geçerken, bu durum son AvailableNow iş tetiklendiğinde kullanılabilir olan tüm kayıtları işlemeye devam etmeyle sonuçlanabilir. Bu beklenen bir davranıştır.

Not

Artımlı bir toplu işlemle ilişkili sorgu hatasını kurtarmaya çalışıyorsanız, toplu iş yine de tamamlanması gerektiğinden tetikleyici aralığının değiştirilmesi bu sorunu çözmez. Databricks, sorunu çözmeye çalışmak için toplu işlemi işlemek için kullanılan işlem kapasitesini artırmanızı önerir. Nadir durumlarda, akışı yeni bir denetim noktasıyla yeniden başlatmanız gerekebilir.

Sürekli işleme modu nedir?

Apache Spark, Sürekli İşleme olarak bilinen ek bir tetikleyici aralığını destekler. Bu mod Spark 2.3'ten bu yana deneysel olarak sınıflandırılmıştır; bu işleme modelinin avantajlarını anladığınızdan emin olmak için Azure Databricks hesap ekibinize başvurun.

Bu sürekli işleme modunun Delta Live Tablolarında uygulandığı gibi sürekli işlemeyle hiç ilgili olmadığını unutmayın.