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.
Varsayılan olarak, işlem hattı akışları sonuçlarını Unity Catalog tarafından yönetilen Delta tablolarına, genellikle akış tablolarına veya somutlaştırılmış görünümlere yazar. Alıcılar, dönüştürülmüş verileri olay akışı hizmetleri veya özel veri depoları gibi Databricks tarafından yönetilen depolama alanı dışındaki hedeflere yazmanıza olanak tanıyan alternatif çıktı hedefleridir.
Havuzlar ekleme akışlarıyla birlikte kullanılır. Sink API’lerinden birini kullanarak bir sink tanımlayın, ardından target tanımınızda buna append_flow olarak başvurun.
Havuzlar ne zaman kullanılır?
Databricks, aşağıdaki durumlarda havuzları kullanmanızı önerir:
- Sahtekarlık algılama, gerçek zamanlı analiz veya verilerin bulut depolama yerine ileti veriyoluna akması gereken müşteri önerileri gibi düşük gecikme süresine sahip operasyonel kullanım örnekleri oluşturun. Milisaniyelik gecikme süresi gerektiren iş yükleri için bkz. Lakeflow işlem hatlarında gerçek zamanlı modu kullanma.
- Dönüştürülen verileri, Unity Catalog tarafından yönetilen tablolar ve harici tablolar dahil olmak üzere, harici bir Delta örneği tarafından yönetilen tablolara yazın.
- İşlenen verilerin Azure Databricks dışında tüketilmesi için Apache Kafka topic’lerine geri yazılması gibi işlemlerle dış sistemlere ters ETL gerçekleştirin.
- Python özel veri kaynaklarını kullanarak Azure Databricks tarafından yerel olarak desteklenmeyen bir biçime yazın.
Havuz türleri
İşlem hatları aşağıdaki havuz türlerini destekler:
| Lavabo türü | Description |
|---|---|
| Delta tablo havuzları | Unity Kataloğu’ndaki yönetilen veya harici Delta tablolarına yazın. Bir dosya yolu veya tam nitelikli tablo adı belirtin. |
| Apache Kafka çıkışları | İşlem hattı çalışma zamanına dahil edilen Kafka bağlayıcısını kullanarak Apache Kafka konularına yazın. |
| Azure Event Hubs hedefleri | Kafka arabirimini kullanarak Azure Event Hubs’a veri yazın. Kafka havuzlarıyla aynı seçenekleri kullanır. |
| Python için özel sink'ler |
spark.dataSource.register ile kaydedilmiş bir Python özel veri kaynağı kullanarak herhangi bir veri deposuna yazın. |
| ForEachBatch alıcıları | Akış verilerinin her mikro toplu işlemine özel Python mantığı uygulayın. Birden çok hedefe yazmanız, ekleme/güncelleme (upsert) işlemleri yapmanız veya akış halinde yazmayı yerleşik olarak desteklemeyen hedefler kullanmanız gerektiğinde kullanın. |
Havuz API'leri
İşlem hatları havuz oluşturmak için iki API sağlar:
-
create_sink(): Desteklenen türde (Delta, Kafka, AEH veya Python özel veri kaynağı) adlandırılmış bir havuz oluşturur. Yalnızca Python kullanılabilir. İşlem hatlarında sink kullanma konusuna bakın. -
foreach_batch_sink(): Her bir mikro akış verisi grubu için çalışan bir Python işlevini süsler. Özel yazma mantığı için maksimum esneklik sağlar. Bkz. İşlem hatlarındaki rastgele veri havuzlarına yazmak için ForEachBatch kullanma.
Her iki sink türü de bir target öğesinin append_flow olarak adlandırılır.
Sınırlamalar
- Sink’ler yalnızca Python’da kullanılabilir. SQL desteklenmez.
- Yalnızca akış sorguları desteklenir. Batch sorguları desteklenmez.
- Yalnızca
append_flowhavuzlara yazabilir vecreate_auto_cdc_flowdiğer akış türleri desteklenmez. - Havuzlar için işlem hattı beklentileri desteklenmez.
- Tam yenileme çalıştırılırken havuzlardaki önceden yazılmış veriler temizlenmez.