Azure Veri Gezgini kümenizde akış alımı yapılandırma

Alma ve sorgu arasında düşük gecikme süresi gerektiğinde veri yüklemesi için akış alma faydalıdır. Aşağıdaki senaryolarda akış alma kullanmayı göz önünde bulundurun:

  • Bir saniyeden az gecikme süresi gereklidir.
  • Her tablo için veri akışının görece küçük (saniyede birkaç kayıt) olduğu, ancak genel veri alma birimi yüksek (saniyede binlerce kayıt) olduğu çok sayıda tablonun işlemsel işlenmesini iyileştirmek için.

Her bir tabloya veri akışı yüksekse (saat başına 4 GB 'tan fazla), Batchalımı kullanmayı düşünün.

Farklı alma yöntemleri hakkında daha fazla bilgi edinmek için bkz. veri alma genel bakış.

Uygun akış alma türünü seçin

İki akış alma türü desteklenir:

Giriş türü Description
Olay Hub 'ı veya IoT Hub Hub 'lar tablo akışı veri kaynakları olarak yapılandırılır.
Bunları ayarlama hakkında daha fazla bilgi için bkz. Olay Hub 'ı veya IoT Hub veri alma yöntemleri.
Özel Alım Özel Alım, Azure Veri Gezgini istemci kitaplıklarındanbirini kullanan bir uygulama yazmanızı gerektirir.
Özel alımı yapılandırmak için bu konudaki bilgileri kullanın. C# akış alımı örnek uygulamasını da yararlı bulabilirsiniz.

Ortamınız için uygun olan alma türünü seçmenize yardımcı olması için aşağıdaki tabloyu kullanın:

Landı Olay Hub 'ı/IoT Hub Özel Alım
Sorgu başlatma ve sorgu için kullanılabilen veriler arasındaki veri gecikmesi Daha uzun gecikme Daha kısa gecikme
Geliştirme ek yükü Hızlı ve kolay kurulum, geliştirme yükü yok Veri alma, hataları işleme ve veri tutarlılığı sağlama gibi bir uygulama oluşturmak için yüksek geliştirme yükü

Not

Azure portal veya C# ' de programlı olarak, kümenizde akış alımını etkinleştirmek ve devre dışı bırakmak için işlemi yönetebilirsiniz. Özel uygulamanıziçin C# kullanıyorsanız, programlama yaklaşımını kullanarak daha kullanışlı bulabilirsiniz.

Önkoşullar

Performans ve operasyonel hususlar

Akış alımını etkileyebilecek ana katkıda bulunanlar şunlardır:

  • VM ve küme boyutu: artan VM ve küme boyutları ile akış alma performansı ve kapasitesi ölçekleme. Eş zamanlı alma isteklerinin sayısı, çekirdek başına altı ile sınırlıdır. Örneğin, D14 ve L16 gibi 16 çekirdekli SKU 'Lar için, desteklenen en fazla 96 yükü eşzamanlı Alım isteklerdedir. D11 gibi iki çekirdek SKU 'su için, en fazla desteklenen yük, 12 eşzamanlı Alım istemindedir.
  • Veri boyutu sınırı: akış alma isteği için veri boyutu SıNıRı 4 MB 'tır. Bu, alma sırasında güncelleştirme ilkeleri için oluşturulan tüm verileri içerir.
  • Şema güncelleştirmeleri: tablo ve giriş eşlemelerini oluşturma ve değiştirme gibi şema güncelleştirmeleri, akış alma hizmeti için beş dakikaya kadar sürebilir. Daha fazla bilgi için bkz. akış alma ve şema değişiklikleri.
  • SSD kapasitesi: veri akışı aracılığıyla yapılmasa bile, küme üzerinde akış alımı etkinleştirme, verileri akışa alma için küme makinelerinin yerel SSD disk bir kısmını kullanır ve etkin önbellek için kullanılabilir depolama alanını azaltır.

Kümenizde akış alımını etkinleştirme

Akış alımı kullanabilmeniz için önce kümenizdeki özelliği etkinleştirmeniz ve bir akış alma ilkesitanımlamanız gerekir. Kümeyi oluştururkenyeteneği etkinleştirebilir veya var olan bir kümeye ekleyebilirsiniz.

Uyarı

Akış alımı etkinleştirilmeden önce sınırlamaları gözden geçirin.

Yeni bir küme oluştururken akış alımını etkinleştir

Azure portal kullanarak veya C# ' de programlı olarak, yeni bir küme oluştururken akış alımını etkinleştirebilirsiniz.

Azure Veri Gezgini kümesi ve veritabanı oluşturma' daki adımları kullanarak bir küme oluştururken, Konfigürasyonlar sekmesinde, üzerinde akışalma ' yı seçin .

Azure Veri Gezgini 'de küme oluştururken akış alımı etkinleştirin.

Mevcut bir kümede akışı alma özelliğini etkinleştirme

Var olan bir kümeniz varsa, Azure portal kullanarak veya C# dilinde programlama yoluyla akış alımı sağlayabilirsiniz.

  1. Azure portal Azure Veri Gezgini kümenize gidin.

  2. Ayarlar, konfigürasyonlar' ı seçin.

  3. Yapılandırma bölmesinde, akışalımı 'nı etkinleştirmek için Açık ' ı seçin.

  4. Kaydet’i seçin.

    Azure Veri Gezgini akış alımı 'nı açın.

Hedef tablo oluşturma ve ilkeyi tanımlama

Akış alma verilerini almak ve Azure portal veya C# dilinde programlama yoluyla ilgili ilkeyi tanımlamak için bir tablo oluşturun.

  1. Azure portal kümenize gidin.

  2. Sorguseçin.

    Akışa alma özelliğini etkinleştirmek için Azure Veri Gezgini portalında sorgu ' yı seçin.

  3. Akış alımı aracılığıyla verileri alacak tabloyu oluşturmak için, sorgu bölmesine aşağıdaki komutu kopyalayın ve Çalıştır' ı seçin.

    .create table TestTable (TimeStamp: datetime, Name: string, Metric: int, Source:string)
    

    Azure Veri Gezgini 'de akış alımı için bir tablo oluşturun.

  4. Aşağıdaki komutlardan birini sorgu bölmesine kopyalayın ve Çalıştır' ı seçin. Bu, oluşturduğunuz tabloda veya tabloyu içeren veritabanında akış alma ilkesini tanımlar.

    İpucu

    Veritabanı düzeyinde tanımlanan bir ilke, veritabanındaki tüm mevcut ve gelecekteki tablolar için geçerlidir.

    • İlkeyi oluşturduğunuz tabloda tanımlamak için şunu kullanın:

      .alter table TestTable policy streamingingestion enable
      
    • Oluşturduğunuz tabloyu içeren veritabanında ilkeyi tanımlamak için şunu kullanın:

      .alter database StreamingTestDb policy streamingingestion enable
      

    Azure Veri Gezgini akış alma ilkesini tanımlayın.

Verileri kümenize almak için bir akış alma uygulaması oluşturma

Tercih ettiğiniz dili kullanarak kümenize verileri eklemek için uygulamanızı oluşturun.

using Kusto.Data;
using Kusto.Ingest;
using System.IO;
using Kusto.Data.Common;

namespace StreamingIngestion
{
    class Program
    {
        static void Main(string[] args)
        {
            string clusterPath = "https://<clusterName>.kusto.windows.net";
            string appId = "<appId>";
            string appKey = "<appKey>";
            string appTenant = "<appTenant>";
            string dbName = "<dbName>";
            string tableName = "<tableName>";

            // Create Kusto connection string with App Authentication
            var csb =
                new KustoConnectionStringBuilder(clusterPath)
                    .WithAadApplicationKeyAuthentication(
                        applicationClientId: appId,
                        applicationKey: appKey,
                        authority: appTenant
                    );

            // Create a disposable client that will execute the ingestion
            using (IKustoIngestClient client = KustoIngestFactory.CreateStreamingIngestClient(csb))
            {
                // Initialize client properties
                var ingestionProperties =
                    new KustoIngestionProperties(
                        databaseName: dbName,
                        tableName: tableName
                    );

                // Ingest from a compressed file
                var fileStream = File.Open("MyFile.gz", FileMode.Open);
                // Create source options
                var sourceOptions = new StreamSourceOptions()
                {
                    CompressionType = DataSourceCompressionType.GZip,
                };
                // Ingest from stream
                var status = client.IngestFromStreamAsync(fileStream, ingestionProperties, sourceOptions).GetAwaiter().GetResult();
            }
        }
    }
}

Kümenizde akış alımını devre dışı bırakma

Uyarı

Akış alımını devre dışı bırakmak birkaç saat sürebilir.

Azure Veri Gezgini kümenizde akış alma 'yı devre dışı bırakmadan önce, tüm ilgili tablo ve veritabanlarından akış alma ilkesini bırakın. Akış alma ilkesinin kaldırılması, Azure Veri Gezgini kümenizin içinde veri yeniden düzenlemesini tetikler. Akış alma verileri, ilk depolamadan sütun deposundaki (kapsamlar veya parçalar) kalıcı depolamaya taşınır. Bu işlem, ilk depolama alanındaki veri miktarına bağlı olarak birkaç saniye ila birkaç saat arasında sürebilir.

Akış alma ilkesini bırakma

C# içinde program aracılığıyla veya akış alımı Azure portal kullanarak akışın alımını atabilirsiniz.

  1. Kümede Azure portal kümenize gidin Azure Veri Gezgini'yi seçin.

  2. Akış alımı ilkesi tablodan bırakmak için aşağıdaki komutu Sorgu bölmesine kopyalayın ve Çalıştır'ıseçin.

    .delete table TestTable policy streamingingestion
    

    Azure Veri Gezgini'da akış alımı Azure Veri Gezgini.

  3. Bu AyarlarYapılandırmalar'ı seçin.

  4. Yapılandırmalar bölmesinde, Akış alımını devre dışı bırakmak için Kapalı'ya tıklayın.

  5. Kaydet’i seçin.

    Akış alımını Azure Veri Gezgini.

Sınırlamalar

  • Veritabanının kendisi veya tablolarının herhangi biri Akış alımı ilkesi tanımlandı ve etkinleştirildiyse veritabanı imleçleri bir veritabanı için desteklenmiyor.
  • Veri eşlemeleri,akış alımında kullanmak için önceden oluşturulmuş olması gerekir. Tek tek akış alımı istekleri satır içi veri eşlemeleri için uygun değildir.
  • Akış alımı verisinde kapsam etiketleri ayarilamaz.
  • İlkeyi güncelleştirin. Güncelleştirme ilkesi yalnızca kaynak tablodaki yeni alınan verilere başvurarak veritabanındaki diğer verilere veya tablolara başvurabilirsiniz.
  • Akış alımı, veritabanının tablolarının herhangi biri üzerinde kullanılıyorsa, bu veritabanı takip veritabanları için lider olarak veya veritabanı için bir veri sağlayıcısı Azure Veri Paylaşımı.

Sonraki adımlar