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.
Azure Stream Analytics, özel alanlar veya öznitelikler ve özel yol desenleri ile özel DateTime blob çıkış bölümlemlerini destekler.
Özel alan veya öznitelikler
Özel alan veya giriş öznitelikleri, çıkış üzerinde daha fazla denetim sağlayarak aşağı akış veri işleme ve raporlama iş akışlarını geliştirir.
Bölüm anahtarı seçenekleri
Giriş verilerini bölümlendirmek için kullanılan bölüm anahtarı veya sütun adı, blob adları için kabul edilen herhangi bir karakter içerebilir. İç içe alanları diğer adlarla birlikte kullanmadığınız sürece bölüm anahtarı olarak kullanamazsınız. Ancak, dosya hiyerarşisi oluşturmak için belirli karakterleri kullanabilirsiniz. Örneğin, benzersiz bir bölüm anahtarı oluşturmak için diğer iki sütundaki verileri birleştiren bir sütun oluşturmak için aşağıdaki sorguyu kullanabilirsiniz:
SELECT name, id, CONCAT(name, "/", id) AS nameid
Bölüm anahtarı , , NVARCHAR(MAX)BIGINTveya FLOAT (1.2 uyumluluk düzeyi veya üzeri) olmalıdırBIT.
DateTime, Arrayve Records türleri desteklenmez, ancak dizelere dönüştürülürlerse bölüm anahtarları olarak kullanılabilirler. Daha fazla bilgi için bkz . Azure Stream Analytics veri türleri.
Blob çıkışını özel bir alana göre bölümleme
Bir işin, canlı kullanıcı oturumlarından gelen verileri, harici bir video oyunu hizmetine bağlı olarak aldığını ve alınan verilerin oturumları tanımlayan bir sütun client_id içerdiğini varsayalım. Verileri client_idile bölümlendirmek için, bir iş oluşturduğunuzda blob Yolu desen alanını blob çıktı özelliklerine bölüm belirteci {client_id} içerecek şekilde ayarlayın. Çeşitli client_id değerlere sahip veriler Stream Analytics işi üzerinden aktıkça, çıkış verileri klasör başına tek client_id bir değer temelinde ayrı klasörlere kaydedilir.
Benzer şekilde, iş girişi milyonlarca sensörden gelen ve her bir sensörün sensor_id sahip olduğu sensör verileriyse, yol deseni her sensörün verilerini farklı klasörlere bölmek için {sensor_id} olacaktır.
REST API'yi kullandığınızda, bu istek için kullanılan bir JSON dosyasının çıkış bölümü aşağıdaki görüntü gibi görünebilir:
İş çalışmaya başladıktan sonra, clients kapsayıcı aşağıdaki gibi görünebilir:
Her klasör, her blob'un bir veya daha fazla kayıt içerdiği birden çok blob içerebilir. Yukarıdaki örnekte, aşağıdaki içeriklerle etiketlenmiş "06000000" bir klasörde tek bir blob vardır:
Blobdaki her kaydın klasör adıyla eşleşen bir client_id sütuna sahip olduğunu ve çıktıyı bölümlemek için kullanılan sütunun client_id olduğunu fark edin.
Özel bölüm anahtarı sınırlamaları
Yol deseni blob çıktı özelliğinde yalnızca bir özel bölüm anahtarına izin verilir. Aşağıdaki yol desenlerinin tümü geçerlidir:
cluster1/{date}/{aFieldInMyData}cluster1/{time}/{aFieldInMyData}cluster1/{aFieldInMyData}cluster1/{date}/{time}/{aFieldInMyData}
Birden fazla giriş alanı kullanmak istiyorsanız, blob çıktısında özel yol bölümlendirmesi için bir sorguda
CONCATkullanarak bileşik anahtar oluşturabilirsiniz.select concat (col1, col2) as compositeColumn into blobOutput from inputbunun bir örneğidir. Ardından Azure Blob Depolama'da özel yol olarak belirtebilirsinizcompositeColumn.Bölüm anahtarları büyük/küçük harfe duyarsızdır, bu nedenle
Johnvejohneşdeğerdir. Ayrıca, bölüm anahtarları olarak ifadeleri kullanamazsınız. Örneğin,{columnA + columnB}çalışmaz.Giriş akışı, bölüm anahtarı kardinalitesi 8.000'in altındaki kayıtlardan oluştuğunda Stream Analytics kayıtları mevcut bloblara ekler ve yalnızca gerektiğinde yeni bloblar oluşturur. Kardinalite 8.000'in üzerindeyse Stream Analytics'in mevcut bloblara yazdığının garantisi yoktur. Stream Analytics, aynı bölüm anahtarına sahip rastgele sayıda kayıt için yeni bloblar oluşturmaz.
Blob çıkışı sabit olarak yapılandırılırsa, Stream Analytics her veri gönderildiğinde yeni bir blob oluşturur.
Özel DateTime yol desenleri
Özel DateTime yol desenleri Hive Stream kurallarıyla uyumlu bir çıkış biçimi belirtmenize olanak tanıyarak Stream Analytics'e aşağı akış işleme için Azure HDInsight ve Azure Databricks'e veri gönderme olanağı sağlar. Özel DateTime yol desenleri, belirtilen biçim belirticisiyle birlikte datetime alanında anahtar kelimesi kullanılarak blob çıkışınızda kolayca uygulanır.
{datetime:yyyy} bunun bir örneğidir.
Desteklenen belirteçler
Aşağıdaki biçim belirtici belirteçleri, özel DateTime biçimler elde etmek için tek başına veya birlikte kullanılabilir.
| Biçim belirteci | Açıklama | Örnek zaman 2018-01-02T10:06:08 için sonuçlar |
|---|---|---|
| {datetime:yyyy} | Yılın dört basamaklı bir sayı olarak belirtilmesi | 2018 |
| {datetime:MM} | Aylar 01'den 12'ye kadar | 01 |
| {datetime:M} | 1'den 12'ye kadar aylar | 1 |
| {datetime:dd} | 01 ile 31 gün | 02 |
| {tarihve zaman:d} | 1 ile 31 gün | 2 |
| {datetime:HH} | 00 ile 23 arasında 24 saatlik biçimin kullanıldığı saat | 10 |
| {datetime:mm} | 00 ile 60 dakika | 06 |
| {datetime:m} | 0 ile 60 dakika | 6 |
| {datetime:ss} | 00 ile 60 saniye | 08 |
Özel DateTime desenler kullanmak istemiyorsanız, ve/veya {date} belirtecini {time} Yol Ön Eki alanına ekleyerek yerleşik DateTime biçimlere sahip bir açılan liste oluşturabilirsiniz.
DateTime belirteci genişletilebilirliği ve kısıtlamaları
Yol ön eki karakter sınırına ulaşana kadar yol deseninde istediğiniz kadar belirteç ({datetime:<specifier>}) kullanabilirsiniz. Format belirteçleri, tarih ve saat açılır menülerde zaten listelenmiş olan birleşimler dışında tek bir belirteçte birleştirilemez.
yol bölütlemesi için logs/MM/dd:
| Geçerli ifade | Geçersiz ifade |
|---|---|
logs/{datetime:MM}/{datetime:dd} |
logs/{datetime:MM/dd} |
Yol ön ekinde aynı biçim belirticiyi birden çok kez kullanabilirsiniz. Belirteç her seferinde yinelenmelidir.
Hive Streaming kuralları
Klasörlerin klasör adında etiketlenmesi column= beklenen Hive Streaming kuralıyla Blob Depolama için özel yol desenleri kullanabilirsiniz.
year={datetime:yyyy}/month={datetime:MM}/day={datetime:dd}/hour={datetime:HH} bunun bir örneğidir.
Özel çıkış, tabloları değiştirme ve Stream Analytics ile Hive arasında bağlantı noktası verilerine el ile bölüm ekleme zahmetini ortadan kaldırır. Bunun yerine, aşağıdakiler kullanılarak birçok klasör otomatik olarak eklenebilir:
MSCK REPAIR TABLE while hive.exec.dynamic.partition true
Hive uyumlu bir DateTime klasör yapısı oluşturma
Stream Analytics Azure portalı hızlı başlangıç kılavuzuna göre bir depolama hesabı, bir kaynak grubu, bir Stream Analytics işi ve bir giriş kaynağı oluşturun. Hızlı başlangıçta kullanılan örnek verileri kullanın. Örnek veriler GitHub'da da kullanılabilir.
Aşağıdaki yapılandırmayla bir blob çıkış havuzu oluşturun:
Tam yol deseni şöyledir:
year={datetime:yyyy}/month={datetime:MM}/day={datetime:dd}
İşi başlattığınızda, blob kapsayıcınızda yol desenini temel alan bir klasör yapısı oluşturulur. Gün düzeyinde detaya gidebilirsiniz.