Aramalarda başvuru verilerini Stream Analytics

Başvuru verileri (arama tablosu olarak da bilinir), arama gerçekleştirmek veya veri akışlarınızı artırmak için kullanılan statik veya yavaş değişen sınırlı bir veri kümesidir. Örneğin bir IoT senaryosunda algılayıcılarla ilgili meta verileri (genellikle değişmez) başvuru verilerinde depolar ve gerçek zamanlı IoT veri akışlarıyla bir indirebilirsiniz. Azure Stream Analytics, düşük gecikmeli akış işleme elde etmek için başvuru verilerini belleğe yükler. Bu iş için başvuru verilerini Azure Stream Analytics, sorgunuza genellikle Başvuru Verileri Birleştirmesi kullanır.

Örnek

Arabaların ücretli otoyoldan geçmesiyle oluşturulan gerçek zamanlı olay akışına sahip olabilirsiniz. Ücretli stand, lisans sertifikasını gerçek zamanlı olarak yakalayıp kayıt ayrıntılarına sahip statik bir veri kümesine katılarak süresi dolmuş lisans kalıplarını tanımlayabilir.

SELECT I1.EntryTime, I1.LicensePlate, I1.TollId, R.RegistrationId  
FROM Input1 I1 TIMESTAMP BY EntryTime  
JOIN Registration R  
ON I1.LicensePlate = R.LicensePlate  
WHERE R.Expired = '1'

Stream Analytics, Azure Blob depolamayı ve Azure SQL Veritabanı Için depolama katmanı olarak kullanılabilir. Ayrıca, herhangi bir sayıda bulut tabanlı ve şirket içi veri depolarını kullanmak Azure Data Factory blob depolama alanına başvuru verilerini dönüştürebilirsiniz ve/veya kopyaabilirsiniz.

Azure Blob depolama

Başvuru verileri, blob adı içinde belirtilen tarih/saat artan düzende blob dizisi (giriş yapılandırmasında tanımlanır) olarak model oluşturulur. Yalnızca dizide son blob tarafından belirtilenden büyük bir tarih/saat kullanarak sıranın sonuna eklemeyi destekler. Daha fazla bilgi için bkz. Bir blob iş için blob Depolama başvuru Azure Stream Analytics kullanma.

Blob başvuru verilerini yapılandırma

Başvuru verilerinizi yapılandırmak için öncelikle Başvuru Verileri türünde bir giriş oluşturmanız gerekir. Aşağıdaki tabloda, başvuru verisi girişini oluştururken açıklamayla birlikte sağlamanız gereken her özellik açıklanmıştır:

Özellik Adı Açıklama
Girdi Diğer Adı Bu girişe başvuru yapmak için iş sorgusunda kullanılacak kolay bir ad.
Depolama Hesabı Blob'ların bulunduğu depolama hesabının adı. İş Aboneliğiniz ile aynı abonelikte Stream Analytics açılan listeden bunu seçin.
Depolama Hesap Anahtarı Depolama hesabıyla ilişkili gizli anahtar. Depolama hesabı, depolama hesabınızla aynı abonelikte yer alıyorsa bu otomatik Stream Analytics olur.
Depolama Kapsayıcı Kapsayıcılar, Blob hizmetine depolanmış bloblar için mantıksal Microsoft Azure sağlar. Blob hizmetine bir blob yüklerken, bu blob için bir kapsayıcı belirtmeniz gerekir.
Yol Deseni Bu, belirtilen kapsayıcı içindeki bloblarınızı bulmak için kullanılan gerekli bir özelliktir. Yol içinde, aşağıdaki 2 değişkenin bir veya daha fazla örneğini belirtmeyi seçebilirsiniz:
{date}, {time}
Örnek 1: products/{date}/{time}/product-list.csv
Örnek 2: products/{date}/product-list.csv
Örnek 3: product-list.csv

Blob belirtilen yolda mevcut yoksa, Stream Analytics iş blob'un kullanılabilir olması için süresiz olarak bekler.
Tarih Biçimi [isteğe bağlı] Belirttiğiniz Yol Deseni içinde {date} kullandıysanız, desteklenen biçimlerin açılan listesinden blob'larınızı düzenlenin tarih biçimini seçebilirsiniz.
Örnek: YYYY/AA/D, AA/D/YYYY vb.
Saat Biçimi [isteğe bağlı] Belirttiğiniz Yol Deseni içinde {time} kullandıysanız, desteklenen biçimlerin açılan listesinden blob'larınızı düzenlenin saat biçimini seçebilirsiniz.
Örnek: HH, HH/mm veya HH-mm.
Olay Serileştirme Biçimi Sorgularının beklediğiniz gibi çalışması için Stream Analytics veri akışları için hangi serileştirme biçimini kullanmakta olduğunu bilmek gerekir. Başvuru Verileri için desteklenen biçimler CSV ve JSON'dır.
Encoding UTF-8 şu anda desteklenen tek kodlama biçimidir.

Statik başvuru verileri

Başvuru verilerinizin değişmesi beklenmiyorsa, giriş yapılandırmasında statik bir yol belirterek statik başvuru verileri desteği etkinleştirilir. Azure Stream Analytics belirtilen yoldan blobu alır. {date} ve {time} değiştirme belirteçleri gerekli değildir. Başvuru verileri veri kaynağında sabit olduğundan Stream Analytics statik başvuru veri blobu üzerine yazmanız önerilmez.

Bir zaman çizelgesine göre başvuru verileri oluşturma

Başvuru verileriniz yavaş değişen bir veri kümesi ise, {date} ve {time} değiştirme belirteçlerini kullanarak giriş yapılandırmasında bir yol deseni belirterek başvuru verilerini yenileme desteği etkinleştirilir. Stream Analytics yol desenini temel alarak güncelleştirilmiş başvuru veri tanımlarını alır. Örneğin, tarih biçimi sample/{date}/{time}/products.csv "YYYY-AA-D" olan bir deseni ve "HH-mm" saat biçimi Stream Analytics'a güncelleştirilmiş blobu 16 Nisan 2015 UTC saat diliminde sample/2015-04-16/17-30/products.csv saat 17:30'da toplaması talimatını verir.

Azure Stream Analytics bir dakikalık aralıklarla yenilenmiş başvuru verisi bloblarını otomatik olarak tarar. Zaman damgası 10:30:00 olan bir blob küçük bir gecikmeyle karşıya yüklendi ise (örneğin, 10:30:30), bu bloba başvuran Stream Analytics iş gecikmesi farkedersiniz. Bu tür senaryolardan kaçınmak için blobu hedef etkin zamanından (bu örnekte 10:30:00) önce karşıya yüklemeniz önerilir; böylece Stream Analytics işinin bu blobu bulmak ve belleğe yüklemek ve işlemler gerçekleştirmek için yeterli zamanı vardır.

Not

Şu Stream Analytics işleri blob yenilemeyi yalnızca makine zamanı blob adıyla kodlanan süreye ilerlendiğinde aratır. Örneğin, iş en kısa zamanda ancak 16 Nisan 2015 UTC saat dilimi üzerinde sample/2015-04-16/17-30/products.csv 17:30'dan önceye bakmaz. Hiçbir zaman bulunan son blobdan önceki kodlanmış zamanı olan bir bloba bakmaz.

Örneğin, iş blobu sample/2015-04-16/17-30/products.csv bulduğunda, 16 Nisan 2015'te 17:30'dan önceki bir kodlanmış tarihe sahip dosyaları yoksayacak ve geç gelen blob aynı kapsayıcıda oluşturulursa iş bunu sample/2015-04-16/17-25/products.csv kullanmaz.

Benzer şekilde, kapsayıcıda yalnızca 16 Nisan 2015 saat 10:03'te üretiliyor ancak kapsayıcıda daha önceki bir tarihe sahip bir blob yoksa, iş sample/2015-04-16/17-30/products.csv 16 Nisan 2015'te 10:03'te başlayan bu dosyayı kullanır ve o zamana kadar önceki başvuru verilerini kullanır.

Bunun bir istisnası, işin verileri zaman içinde yeniden işlemesi veya işin ilk kez ne zaman başlat olduğudur. Başlangıç zamanında, iş belirtilen iş başlangıç zamanından önce üretilen en son blobu arıyor. Bu, iş başlatıldığında boş olmayan bir başvuru veri kümesi olduğundan emin olmak için yapılır. Bulunamazsa, iş şu tanılamayı görüntüler: Initializing input without a valid reference data blob for UTC time <start time> .

Azure Data Factory, başvuru veri tanımlarını güncelleştirmek için gerekli olan güncelleştirilmiş blobları Stream Analytics görevi için kullanılabilir. Data Factory, verilerin taşınmasını ve dönüştürülmesini düzenleyen ve otomatikleştiren bulut tabanlı bir veri tümleştirme hizmetidir. Data Factory, çok sayıda bulut tabanlı ve şirket içi veri depolarına bağlanmayı ve belirttiğiniz düzenli bir zamanlamayı kolayca taşımayı destekler. Önceden tanımlanmış bir zamanlamada yenilenecek Stream Analytics için başvuru verileri oluşturmak için bir Data Factory işlem hattı ayarlama hakkında daha fazla bilgi ve adım adım kılavuz için bu GitHub göz atabilirsiniz.

İpuçları başvuru verilerini yenileme hakkında bilgi

  1. Sabit olduğu için başvuru veri blobları üzerine yazmayın.
  2. Başvuru verilerini yenilemek için önerilen yol:
    • Yol düzeninde {date}/{time} kullanın
    • İş girişine tanımlanan kapsayıcı ve yol desenini kullanarak yeni bir blob ekleme
    • Dizide son blob tarafından belirtilenden büyük bir tarih/saat kullanın.
  3. Başvuru veri blobları blob'un "Son Değiştirme" zamanı tarafından sıralanmaz, yalnızca {date} ve {time} değiştirmeleri kullanılarak blob adı içinde belirtilen saat ve tarihe göre sıralanmaz.
  4. Çok sayıda blobu listelemek zorunda kalmamak için, işlemenin artık yapılmayacak çok eski blobları silmeyi göz önünde bulundurabilirsiniz. Yeniden başlatma gibi bazı senaryolarda ASA'nın küçük bir miktarda yeniden işlemesi gerektir olabileceğini lütfen unutmayın.

Azure SQL Veritabanı

Azure SQL Veritabanı verileri, Stream Analytics iş tarafından alınır ve iş için bellekte anlık görüntü olarak depolanır. Başvuru verilerinizin anlık görüntüsü, yapılandırma ayarlarında belirttiğiniz depolama hesabında yer alan bir kapsayıcıda da depolanır. İş başlatıldığında kapsayıcı otomatik olarak oluşturulur. İş durdurulursa veya başarısız bir durum girerse, iş yeniden başlatıldığında otomatik olarak oluşturulan kapsayıcılar silinir.

Başvuru verileriniz yavaş değişen bir veri kümesi ise, iş içinde kullanılan anlık görüntüyü düzenli aralıklarla yenilemeniz gerekir. Stream Analytics bağlantınızı yapılandırarak yenileme hızı Azure SQL Veritabanı sağlar. Bu Stream Analytics çalışma zamanı, Azure SQL Veritabanı yenileme hızı tarafından belirtilen aralıkta sorgular. Desteklenen en hızlı yenileme hızı dakikada bir kezdir. Her yenileme için Stream Analytics depolama hesabında yeni bir anlık görüntü depolar.

Stream Analytics sorgularınızı sorgulamak için iki seçenek Azure SQL Veritabanı. Anlık görüntü sorgusu zorunludur ve her işe dahil edilecektir. Stream Analytics yenileme aralığınıza göre düzenli aralıklarla anlık görüntü sorgusunu çalıştırır ve başvuru veri kümesi olarak sorgunun (anlık görüntü) sonuçlarını kullanır. Anlık görüntü sorgusunun çoğu senaryoya uyması gerekir, ancak büyük veri kümeleriyle ve hızlı yenileme hızlarında performans sorunlarıyla karşısanız delta sorgu seçeneğini kullanabilirsiniz. Başvuru veri kümesinde 60 saniyeden uzun süre devam edilen sorgular zaman aşımına neden olur.

Delta sorgu seçeneği ile, Stream Analytics taban çizgisi başvuru veri kümesi almak için başlangıçta anlık görüntü sorgusunu çalıştırır. Sonra, Stream Analytics artımlı değişiklikleri almak için yenileme aralığı temelinde düzenli aralıklarla Delta sorgusu çalıştırır. Bu artımlı değişiklikler, güncel tutmak için başvuru verileri kümesine sürekli olarak uygulanır. Delta sorgusunun kullanılması, depolama maliyetini ve ağ g/ç işlemlerini azaltmaya yardımcı olabilir.

SQL Veritabanı başvurusunu yapılandırma

SQL Veritabanı başvuru verilerinizi yapılandırmak için önce başvuru veri girişi oluşturmanız gerekir. Aşağıdaki tabloda, başvuru verileri girişini açıklamasıyla oluştururken sağlamanız gereken her özellik açıklanmaktadır. daha fazla bilgi için bkz. bir Azure Stream Analytics iş için SQL Veritabanı başvuru verilerini kullanma.

Azure SQL yönetilen örneğini , başvuru veri girişi olarak kullanabilirsiniz. SQL yönetilen örnekte ortak uç noktayı yapılandırmanız ve ardından Azure Stream Analytics aşağıdaki ayarları el ile yapılandırmanız gerekir. SQL Server çalıştıran bir veritabanı ile birlikte çalışan Azure sanal makinesi, aşağıdaki ayarları el ile yapılandırarak de desteklenir.

Özellik Adı Açıklama
Girdi diğer adı Bu girişe başvurmak için iş sorgusunda kullanılacak kolay bir ad.
Abonelik Aboneliğinizi seçin
Veritabanı başvuru verilerinizi içeren Azure SQL Veritabanı. SQL yönetilen örnek için 3342 numaralı bağlantı noktasını belirtmeniz gerekir. Örneğin, sampleserver. public. Database. Windows. net, 3342
Kullanıcı adı Azure SQL Veritabanı ilişkili kullanıcı adı.
Parola Azure SQL Veritabanı ile ilişkili parola.
Düzenli aralıklarla Yenile Bu seçenek, yenileme ücreti seçmenizi sağlar. "Açık" seçilirse yenileme hızını gg: ss: dd olarak belirtmenize izin verirsiniz.
Anlık görüntü sorgusu bu, SQL Veritabanı başvuru verilerini alan varsayılan sorgu seçeneğidir.
Delta sorgusu Büyük veri kümelerine ve kısa yenileme hızına sahip gelişmiş senaryolar için, bir Delta sorgusu eklemeyi seçin.

Boyut sınırlaması

En iyi performansı elde etmek için 300 MB 'tan az olan başvuru veri kümelerini kullanmanız önerilir. Başvuru veri kümeleri 5 GB veya daha düşük olan işlerde 6 SUs veya daha fazlası desteklenir. Çok büyük bir başvuru verilerinin kullanılması, işinizin uçtan uca gecikme süresini etkileyebilir. Sorgu karmaşıklığı, pencereli toplamalar, zamana bağlı birleşimler ve zamana bağlı analitik işlevler gibi durum bilgisi içeren işleme dahil olmak üzere arttıkça, başvuru verilerinin en fazla desteklenen boyutunun azalttığı beklenmektedir. Azure Stream Analytics başvuru verilerini yükleyemez ve karmaşık işlemler gerçekleştirmeyebilir, iş belleği tükenme ve başarısız olur. Bu gibi durumlarda% SU kullanım ölçümü %100 ' ye ulaşacaktır.

Akış birimi sayısı Önerilen boyut
1 50 MB veya daha düşük
3 150 MB veya daha düşük
6 ve daha fazla 5 GB veya daha düşük.

Başvuru verileri için sıkıştırma desteği kullanılamaz. 300 MB 'tan büyük başvuru veri kümeleri için, en iyi performans için delta sorgu seçeneğiyle kaynak olarak Azure SQL Veritabanı kullanmanız önerilir. Bu tür senaryolarda Delta sorgusu kullanılmazsa, başvuru veri kümesi her yenilendiğinde, filigran gecikmesi ölçüsüne ilişkin ani artışlar görürsünüz.

Bir işte birden çok başvuru veri kümesini birleştirme

Sorgunuzun tek adımında tek bir başvuru veri girişi ile yalnızca bir akış girişine katılabilir. Ancak, sorgunuzu birden çok adıma ayırarak birden çok başvuru veri kümesine katılabilmeniz gerekir. Aşağıda bir örnek gösterilmiştir.

With Step1 as (
    --JOIN input stream with reference data to get 'Desc'
    SELECT streamInput.*, refData1.Desc as Desc
    FROM    streamInput
    JOIN    refData1 ON refData1.key = streamInput.key 
)
--Now Join Step1 with second reference data
SELECT *
INTO    output 
FROM    Step1
JOIN    refData2 ON refData2.Desc = Step1.Desc 

IoT Edge işleri

Stream Analytics Edge işleri için yalnızca yerel başvuru verileri desteklenir. IoT Edge cihaza bir iş dağıtıldığında, Kullanıcı tanımlı dosya yolundan başvuru verilerini yükler. Cihaza bir başvuru veri dosyası hazırlayın. bir Windows kapsayıcısı için, başvuru veri dosyasını yerel sürücüye yerleştirin ve yerel sürücüyü docker kapsayıcısı ile paylaşabilirsiniz. Bir Linux kapsayıcısı için, bir Docker birimi oluşturun ve veri dosyasını birime doldurun.

IoT Edge güncelleştirmedeki başvuru verileri bir dağıtım tarafından tetiklenir. Tetiklendikten sonra Stream Analytics modülü, çalışan işi durdurmadan güncelleştirilmiş verileri seçer.

Başvuru verilerini güncelleştirmenin iki yolu vardır:

  • Azure portal Stream Analytics işinizdeki başvuru verileri yolunu güncelleştirin.

  • IoT Edge dağıtımını güncelleştirin.

Sonraki adımlar