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.
Bu sayfada, Azure Databricks'da artımlı ve akış iş yüklerinizin veri idaresini yönetmek için Unity Kataloğu ile Yapılandırılmış Akış'ın nasıl kullanılacağı gösterilmektedir.
Unity Kataloğu hangi Yapılandırılmış Akış işlevini destekler?
Unity Kataloğu, Azure Databricks'da kullanılabilen Yapılandırılmış Akış kaynakları ve havuzları için herhangi bir açık sınır eklemez.
Unity Catalog ve Structured Streaming ile şunları yapabilirsiniz:
- Hem yönetilen hem de harici tablolardan veri akışı sağlayın. Bkz. Delta Lake ve Apache Iceberg için Unity Catalog tarafından yönetilen tablolar.
- Nesne depolama URI'lerini kullanarak verilerle etkileşim kurmak için Unity Kataloğu tarafından yönetilen dış konumları kullanın.
- Tablo adlarını veya dosya yollarını kullanarak dış tablolara yazın. Yönetilen tablolarla etkileşime geçmek için tablo adını kullanmanız gerekir.
Yapılandırılmış Akış denetim noktaları için Unity Kataloğu tarafından yönetilen dış konumlardaki yolları kullanmanız gerekir. 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 görünümünü akış olarak okuma
Databricks Runtime 14.3 LTS ve üzerinde, Unity Kataloğu'na kayıtlı görünümlerden okumak için Yapılandırılmış Akış'ı kullanabilirsiniz. Temel tablolar Delta Lake biçimini kullanmalıdır. Diğer sınırlamalar için bkz. Sınırlamalar.
Yapılandırılmış Akış ile bir görünümü okumak için, görünümün .table() tanımlayıcısıyla yöntemini kullanın:
df = (spark.readStream
.table("demoView")
)
Kullanıcıların hedef görünümde ayrıcalıkları olmalıdır SELECT .
Görünüm tanımını görünümde başvuruda bulunan tabloları eklemek veya değiştirmek için değiştirirseniz, aynı akış denetim noktasını kullanamazsınız.
Desteklenen akış seçenekleri
Akış okuyucu, belirtilen görünüm için temel delta lake tablolarının dosyalarına ve meta verilerine seçenekler uygular.
Aşağıdaki seçenekler desteklenir:
maxFilesPerTriggermaxBytesPerTriggerignoreDeletesskipChangeCommitswithEventTimeOrderstartingTimestampstartingVersion
UNION ALL içeren görünümlerdeki okuma işlemleri, withEventTimeOrder ve startingVersion seçeneklerini desteklemez.
gibi readChangeFeeddesteklenmeyen seçenekler sağlarsanız Spark şu özel durumu oluşturur:
AnalysisException: [UNSUPPORTED_STREAMING_OPTIONS_FOR_VIEW.UNSUPPORTED_OPTION] Unsupported for streaming a view. Reason: option <option> is not supported.
Desteklenen akış işlemleri
Desteklenen işlemler şunlardır:
| Operation | Description | Operator | Example |
|---|---|---|---|
| Proje | Sütun düzeyinde izinleri denetler | SELECT... FROM... |
CREATE VIEW project_view AS SELECT id, value FROM source_table |
| Filtre | Satır düzeyi izinleri denetler | WHERE... |
CREATE VIEW filter_view AS SELECT * FROM source_table WHERE value > 100 |
| Tümünü birleştir | Birden çok tablodan alınan sonuçlar | UNION ALL |
CREATE VIEW union_view AS SELECT id, value FROM source_table1 UNION ALL SELECT * FROM source_table2 |
Desteklenmeyen işlemler; toplulaştırmaları, sıralamayı ve table_changes() gibi tablo değerli işlevleri içerir. Tablo değerli işlevler hakkında ayrıntılı bilgi için bkz. Tablo değerli işlev (TVF) çağırma.
Desteklenmeyen bir işlemle bir görünümden akış yaparsanız Spark şu özel durumu oluşturur:
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.
Sınırlama
- 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.
- Akış kaynağı olarak görünümlerin ek sınırlamaları vardır:
- Yalnızca Delta Lake tablolarını sorgulayan görünümlerden akış yapabilirsiniz. Diğer veri kaynakları desteklenmez.
- Görünümleri Unity Kataloğu'yla kaydetmeniz gerekir. Bkz. Görünüm oluşturma.
- Görünümlerdeki akış okumaları tüm işlemleri veya seçenekleri desteklemez. Bkz. Desteklenen akış işlemleri ve Desteklenen akış seçenekleri.
- Bir akış temel alınan tablonun şemasını güncelleştirmeden önce görünüme yeni sütun eklerseniz, akış eksik sütun hatasıyla başarısız olur. Yeni sütunu temel alınan tabloya eklemeniz, akışın bu tablo sürümünü işlemesini beklemeniz ve ardından sütunu görünüme eklemeniz gerekir.