Unity Kataloğunu Yapılandırılmış Akışla Kullanma

Azure Databricks'te artımlı ve akış iş yüklerinizin veri idaresini yönetmek için Unity Kataloğu ile Yapılandırılmış Akış'ı kullanın. Bu belgede desteklenen işlevler özetlenmektedir ve Unity Kataloğu ile Yapılandırılmış Akış'ı birlikte kullanmak için en iyi yöntemler önerilir.

Unity Kataloğu hangi Yapılandırılmış Akış işlevini destekler?

Unity Kataloğu, Azure Databricks'te kullanılabilen Yapılandırılmış Akış kaynakları ve havuzları için herhangi bir açık sınır eklemez. Unity Kataloğu veri idaresi modeli, Unity Kataloğu'nda yönetilen ve dış tablolardan veri akışı yapmanızı sağlar. Nesne depolama URI'lerini kullanarak verilerle etkileşim kurmak için Unity Kataloğu tarafından yönetilen dış konumları da kullanabilirsiniz. Tablo adlarını veya dosya yollarını kullanarak dış tablolara yazabilirsiniz. Unity Kataloğu'nda tablo adını kullanarak yönetilen tablolarla etkileşim kurmanız gerekir.

Yapılandırılmış Akış denetim noktaları için yollar belirtirken Unity Kataloğu tarafından yönetilen dış konumları kullanın. Depolamayı Unity Kataloğu ile güvenli bir şekilde bağlama hakkında daha fazla bilgi edinmek için bkz. Unity Kataloğu'nu kullanarak bulut nesne depolamasına bağlanma.

Unity Kataloğu'nda hangi Yapılandırılmış Akış işlevselliği desteklenmez?

Apache Spark sürekli işleme modu desteklenmez. Bkz. Spark Yapılandırılmış Akış Programlama Kılavuzu'nda Sürekli İşleme

İşlem erişim moduna göre Unity Kataloğu'nda desteklenmeyen Yapılandırılmış Akış özelliklerinin listesi için bkz. Akış sınırlamaları ve Ayrılmış işlemde akış ve gerçekleştirilmiş görünüm gereksinimleri.

Unity Kataloğu görünümünü akış olarak okuma

Databricks Runtime 14.1 ve üzerinde, Unity Kataloğu'na kayıtlı görünümlerden akış okumaları gerçekleştirmek için Yapılandırılmış Akış'ı kullanabilirsiniz. Azure Databricks yalnızca Delta tablolarında tanımlanan görünümlerden akış okumalarını destekler.

Yapılandırılmış Akış ile bir görünümü okumak için, aşağıdaki örnekte olduğu gibi görünümün tanımlayıcısını .table() yöntemine sağlayın:

df = (spark.readStream
  .table("demoView")
)

Kullanıcıların hedef görünümde ayrıcalıkları olmalıdır SELECT .

Akış okumalarını görünümlere göre yapılandırmaya yönelik desteklenen seçenekler

Akış okumaları görünümlere göre yapılandırılırken aşağıdaki seçenekler desteklenir:

  • maxFilesPerTrigger
  • maxBytesPerTrigger
  • ignoreDeletes
  • skipChangeCommits
  • withEventTimeOrder
  • startingTimestamp
  • startingVersion

Akış okuyucu, bu seçenekleri temel delta tablolarını tanımlayan dosyalara ve meta verilere uygular.

Önemli

UNION ALL ile tanımlanan görünümler üzerinde yapılan okumalar, withEventTimeOrder ve startingVersionseçeneklerini desteklemez.

Kaynak görünümlerde desteklenen işlemler

Tüm görünümler akış okumalarını desteklemez. Kaynak görünümlerde desteklenmeyen işlemler toplamaları ve sıralamayı içerir.

Aşağıdaki listede desteklenen işlemler için açıklamalar ve örnek görünüm tanımları sağlanır:

  • Proje

    • Açıklama: Sütun düzeyinde izinleri denetler

    • Operatör: SELECT... FROM...

    • Örnek deyim:

      CREATE VIEW project_view AS
      SELECT id, value
      FROM source_table
      
  • Filtre

    • Açıklama: Satır düzeyi izinleri denetler

    • Operatör: WHERE...

    • Örnek deyim:

      CREATE VIEW filter_view AS
      SELECT * FROM source_table
      WHERE value > 100
      
  • Tümünü birleşim

    • Açıklama: Birden çok tablodan alınan sonuçlar

    • Operatör: UNION ALL

    • Örnek deyim:

      CREATE VIEW union_view AS
      SELECT id, value FROM source_table1
      UNION ALL
      SELECT * FROM source_table2
      

Not

Görünümde başvurulan tabloları eklemek veya değiştirmek için görünüm tanımını değiştiremez ve aynı akış denetim noktasını kullanamazsınız.

Sınırlamalar

Aşağıdaki sınırlamalar geçerlidir:

  • Yalnızca Delta tabloları tarafından yedeklenen görünümlerden akış yapabilirsiniz. Diğer veri kaynaklarına karşı tanımlanan görünümler desteklenmez.

  • Görünümleri Unity Kataloğu'yla kaydetmeniz gerekir.

  • Akış, desteklenmeyen bir operatöre sahip bir görünümden yapılırsa, aşağıdaki özel durum karşınıza çıkar:

    UnsupportedOperationException: [UNEXPECTED_OPERATOR_IN_STREAMING_VIEW] Unexpected operator <operator> in the CREATE VIEW statement as a streaming source. A streaming view query must consist only of SELECT, WHERE, and UNION ALL operations.
    
  • Desteklenmeyen seçenekler sağlarsanız aşağıdaki özel durum görüntülenir:

    AnalysisException: [UNSUPPORTED_STREAMING_OPTIONS_FOR_VIEW.UNSUPPORTED_OPTION] Unsupported for streaming a view. Reason: option <option> is not supported.