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.
Delta Lake, veri göllerine güvenilirlik, kalite ve performans getiren açık bir biçimdir. Tek bir kod satırı yazmadan akış verilerini Delta Lake tablolarınıza doğrudan yazmak için Azure Stream Analytics'i kullanabilirsiniz.
Stream Analytics işi, bir Azure Data Lake Storage 2. Nesil hesabındaki yeni veya önceden oluşturulmuş bir Delta Tablosuna yerel bir Delta Lake çıkış bağlayıcısı aracılığıyla yazacak şekilde yapılandırılabilir. Bu bağlayıcı, Ekleme modunda Delta tablolarına yüksek hızlı alım için iyileştirilmiştir. Ayrıca, hiçbir verinin kaybolmaması veya çoğaltılmamasını garanti eden "exactly-once semantic" sağlar. gerçek zamanlı veri akışlarını Azure Event Hubs Delta tablolarına almak, geçici etkileşimli veya toplu analiz gerçekleştirmenizi sağlar.
Delta Lake yapılandırması
Delta Lake'te veri yazmak için bir Data Lake Storage 2. Nesil hesabına bağlanmanız gerekir. Aşağıdaki tabloda Delta Lake yapılandırmasıyla ilgili özellikler listelenir.
| Özellik adı | Açıklama |
|---|---|
| Olay serileştirme biçimi | Çıkış verileri için serileştirme biçimi. JSON, CSV, Avro ve Parquet desteklenir. Delta Lake burada bir seçenek olarak listelenmiştir. Delta Lake seçiliyse veriler Parquet biçimindedir. |
| Delta yol adı | Delta Lake tablonuzu belirtilen kapsayıcıya yazmak için kullanılan yol. Tablo adını içerir. Sonraki bölümde daha fazla bilgi bulabilirsiniz. |
| Bölme sütunu | isteğe bağlı.
{field} Çıkış verilerinizden bölüme kadar olan ad. Yalnızca bir tane bölüm sütunu desteklenir. Dün sütunun string türünde bir değeri olmalıdır. |
Data Lake Storage 2. Nesil yapılandırmasının tam listesini görmek için bkz. Azure Data Lake Storage 2. Nesil genel bakış.
Delta yol adı
Delta yolu adı, Data Lake Storage 2. Nesil'de depolanan Delta Lake tablonuzun konumunu ve adını belirtmek için kullanılır.
Delta tablosunun yolunu ve Delta tablosu adını tanımlamak için bir veya daha fazla yol kesimi kullanabilirsiniz. Yol kesimi, bir sanal dizinin adına karşılık gelen ardışık sınırlayıcı karakterleri (örneğin eğik çizgi /) arasındaki dizedir.
Segment adı alfasayısaldır ve boşluk, kısa çizgi ve alt çizgi içerebilir. Tablo adı olarak son yol kesimi kullanılır.
Delta yolu adıyla ilgili kısıtlamalar şunlardır:
- Alan adları büyük/küçük harfe duyarlı değildir. Örneğin, hizmet sütun
IDileidarasında ayrım yapamaz. - Dinamik
{field}adına izin verilmez. Örneğin,{ID}{ID} metni olarak değerlendirilir. - Adı oluşturan yol kesimlerinin sayısı 254'ü aşamaz.
Örnekler
Delta yol adı örnekleri:
- Örnek 1:
WestUS/CA/factory1/device-table - Örnek 2:
Test/demo - Örnek 3:
mytable
Örnek çıkış dosyaları:
- Seçilen kapsayıcının altında dizin yolu,
WestEurope/CA/factory1Delta tablosu klasör adı ise device-table şeklindedir. - Seçilen kapsayıcının altında, dizin yolu
Testve Delta tablosu klasör adı demo şeklindedir. - Seçilen kapsayıcının altında Delta tablosu klasör adı mytable şeklindedir.
Yeni tablo oluşturma
Aynı ada ve Delta yolu adıyla belirtilen konumda henüz bir Delta Lake tablosu yoksa, Stream Analytics varsayılan olarak yeni bir Delta tablosu oluşturur. Bu yeni tablo aşağıdaki yapılandırmayla oluşturulur:
- Writer Sürüm 2.
- Reader Sürüm 1.
- Tablo yalnızca eklemeler içindir.
- Tablo şeması, karşılaşılan ilk kaydın şemasıyla oluşturulur.
Tabloya yaz
Delta Lake tablosu zaten aynı ada ve Delta yolu adıyla belirtilen konuma sahipse, Stream Analytics varsayılan olarak var olan tabloya yeni kayıtlar yazar.
Tam olarak bir kez teslim
İşlem günlüğü Delta Lake'in tam olarak bir kez işleme garantisi vermesine olanak tanır. Stream Analytics ayrıca tek bir iş çalıştırması sırasında Data Lake Storage 2. Nesil veri çıkışı yaparken tam olarak yalnızca bir kez teslimat sağlar.
Şema uygulama zorunluluğu
Şema zorlaması, bir tabloya yapılan tüm yeni yazmaların, veri kalitesini sağlamak için yazma zamanında hedef tablonun şemasıyla uyumlu olacak şekilde zorlanması anlamına gelir.
Çıktı verilerinin tüm kayıtları mevcut tablonun şemasına yansıtılır. Çıkış yeni bir Delta tablosuna yazılırsa, tablo şeması ilk kayıtla oluşturulur. Gelen verilerin mevcut tablo şemasıyla karşılaştırıldığında fazladan bir sütunu varsa, ek sütun olmadan tabloda yazılır. Gelen verilerde mevcut tablo şemasıyla karşılaştırıldığında bir sütun eksikse, tabloya sütun null olarak yazılır.
Delta tablosunun şeması ile akış görevinin kayıt şeması arasında kesişim yoksa, bu durum bir şema dönüştürme hatası olarak kabul edilir. Şema dönüştürme hatası olarak kabul edilen tek durum bu değildir.
Şema dönüştürme hatasında, iş davranışı iş düzeyinde yapılandırılan çıkış verileri hata işleme ilkesini izler.
Delta kayıt denetim noktaları
Stream Analytics işi periyodik olarak Delta log denetim noktaları V1 biçiminde oluşturur. Delta günlük denetim noktaları Delta tablosunun anlık görüntüleridir ve genellikle Stream Analytics işi tarafından oluşturulan veri dosyasının adını içerir. Veri dosyalarının sayısı büyükse, büyük denetim noktalarına yol açar ve bu da Stream Analytics işinde bellek sorunlarına neden olabilir.
OPTIMIZE ve VACUUM komutları aracılığıyla düzenli tablo bakımı düzenli aralıklarla yapılmalıdır ve "delta.deletedFileRetentionDuration" özelliği, akış işinin verileri işleyebilmesiyle müşterinin zaman yolculuğu/geri alma işlemleri için ihtiyaç duyduğu dengeyi sağlayan makul bir değere ayarlanmalıdır.
delta.deletedFileRetentionDuration denetim noktası dosyasına hangilerinin Remove File actiondahil olduğunu belirlemek için kullanılır.
Remove File action değerinden daha eski olan herhangi bir deletedFileRetentionDuration, kontrol noktasına dahil edilmeyecektir. Bu, kontrol noktasının kısalmasına neden olur ancak zaman yolculuğu veya geri alma işlevselliğini önler. Varsayılan değer deletedFileRetentionDuration 1 haftadır, ancak bazı motorlar farklı bir varsayılan değere sahip olabilir.
Sınırlamalar
- Dinamik bölüm anahtarı (Delta yolunda kayıt şemasının bir sütununun adını belirtme) desteklenmez.
- Birden çok bölümlere ayırma sütunu desteklenmez. Birden çok bölüm sütunu istiyorsanız, sorguda bileşik anahtar kullanmanızı ve ardından bunu bölüm sütunu olarak belirtmenizi öneririz.
- Sorguda bileşik anahtar oluşturulabilir.
"SELECT concat (col1, col2) AS compositeColumn INTO [blobOutput] FROM [input]"bunun bir örneğidir.
- Sorguda bileşik anahtar oluşturulabilir.
- Delta Lake'e yazma yalnızca ekleme işlemidir.
- Sorgu testinde şema denetimi kullanılamaz.
- Stream Analytics tarafından küçük dosya sıkıştırma işlemi gerçekleştirilmez.
- Tüm veri dosyaları sıkıştırma olmadan oluşturulur.
- Date ve Ondalık türleri desteklenmez.
- Yazılım Sürüm 7 veya üzerinin mevcut tablolarında yazılım özellikleriyle yazma işlemi başarısız olur.
- Örnek: Deletion Vectors etkin olan mevcut tablolara yazma başarısız olur.
- Buradaki özel durumlar changeDataFeed ve appendOnly Writer Features'dır.
- Stream Analytics işi bir veri kümesini Delta Lake'e yazdığında, birden çok Dosya Ekleme eylemleri oluşturabilir. Tek bir toplu işlem için çok fazla Dosya Ekle eylemi oluşturulduğunda Stream Analytics işi takılabilir.
- Oluşturulan Dosya Ekle eylemlerinin sayısı birçok faktör tarafından belirlenir:
- Küme boyutu. Veri birimi ve Minimum Satırları ve Maksimum Süre toplu işlem parametreleri tarafından belirlenir.
- Toplu işin bölüm sütunu değerlerinin kardinalitesi.
- Toplu iş için oluşturulan Dosya Ekle eylemlerinin sayısını azaltmak için:
- Toplu işlem yapılandırmalarını Minimum Satır Sayısı ve Maksimum Süre azaltın.
- Giriş verilerini ince ayarlayarak veya farklı bir bölüm sütunu seçerek bölüm sütunu değerlerinin kardinalitesini azaltın.
- Oluşturulan Dosya Ekle eylemlerinin sayısı birçok faktör tarafından belirlenir:
- Stream Analytics işleri yalnızca tek parçalı V1 denetim noktalarını okuyabilir ve yazabilir. Çok parçalı denetim noktaları ve denetim noktası V2 biçimi desteklenmez.