Konfigurace příjmu streamování v clusteru Azure Průzkumník dat

Ingestování streamování je užitečné pro načítání dat, když potřebujete nízkou latenci mezi přijetím a dotazem. Vezměte v úvahu použití příjmu streamování v následujících situacích:

  • Je vyžadována latence menší než sekunda.
  • K optimalizaci provozního zpracování mnoha tabulek, ve kterých je datový proud dat do každé tabulky relativně malý (několik záznamů za sekundu), ale celkový objem příjmu dat je vysoký (tisíce záznamů za sekundu).

Pokud je datový proud dat v každé tabulce vysoký (více než 4 GB za hodinu), zvažte použití příjmu dávky.

Další informace o různých metodách přijímání naleznete v tématu Přehled příjmu dat.

Zvolit vhodný typ příjmu streamování

Podporují se dva typy ingestování streamování:

Typ přijímání Popis
Centrum událostí nebo IoT Hub Rozbočovače jsou nakonfigurovány jako zdroje dat streamování tabulek.
Informace o tom, jak tyto informace nastavovat, najdete v tématu centrum událostí nebo IoT Hub metody ingestování dat.
Vlastní ingestování Vlastní ingestování vyžaduje, abyste napsali aplikaci, která používá jednu z klientských knihovenAzure Průzkumník dat.
Pomocí informací v tomto tématu můžete nakonfigurovat vlastní přijímání. Můžete také využít ukázkovou aplikaci pro příjem datových proudů v jazyce C# .

Následující tabulka vám může při výběru typu ingestování, který je vhodný pro vaše prostředí, použít:

Kritérium Centrum událostí/IoT Hub Vlastní ingestování
Zpoždění dat mezi zahájením příjmu a daty dostupnými pro dotaz Delší zpoždění Kratší zpoždění
Režie vývoje Rychlé a snadné nastavení bez režie vývoje Vysoce vyvinutá režie pro vytváření aplikací pro ingestování dat, zpracování chyb a zajištění konzistence dat

Poznámka

Pomocí Azure Portal nebo programově v jazyce C# můžete spravovat proces Povolení a zakázání příjmu datových proudů ve vašem clusteru. Pokud používáte jazyk C# pro vlastní aplikaci, může být pohodlnější pomocí přístupového přístupu.

Požadavky

Požadavky na výkon a provoz

Hlavní přispěvatelé, kteří můžou ovlivnit přijímání streamování, jsou:

  • Velikost virtuálního počítače a clusteru: zvýšení výkonu a kapacity příjmu streamování s využitím vyšší velikosti virtuálních počítačů a clusterů. Počet souběžných žádostí o přijetí změn je omezený na šest na jádro. Například u 16 základních SKU, jako je například D14 a L16, je maximální podporované zatížení 96 souběžných žádostí o přijetí změn. U dvou základních SKU, jako je D11, je maximální podporované zatížení 12 souběžných žádostí o přijetí změn.
  • Omezení velikosti dat: omezení velikosti dat pro žádost o přijetí služby streamování je 4 MB. To zahrnuje všechna data vytvořená pro zásady aktualizace během příjmu.
  • Aktualizace schématu: aktualizace schématu, jako je vytváření a úprava tabulek a mapování příjmu, můžou trvat až pět minut, než se služba pro přijímání streamování streamuje. Další informace najdete v tématu změny příjmu streamování a schématu.
  • Kapacita SSD: Povolení příjmu streamování v clusteru, i když se data ingestují prostřednictvím streamování, používá část místního disku SSD clusterových počítačů pro data ingestování streamování a snižuje úložiště dostupné pro hotkou mezipaměť.

Povolit přijímání streamování v clusteru

Než budete moct používat funkci ingestování streamování, musíte povolit možnost v clusteru a definovat zásady ingestování streamování. Tuto možnost můžete povolit při vytváření clusterunebo ho přidat do existujícího clusteru.

Upozornění

Zkontrolujte omezení před povolením příjmu streamování.

Povolit ingestování streamování při vytváření nového clusteru

Když vytváříte nový cluster pomocí Azure Portal nebo programově v jazyce C#, můžete povolit přijímání streamování.

Při vytváření clusteru pomocí postupu v části Vytvoření clusteru a databáze Azure Průzkumník datklikněte na kartě Konfigurace na možnost ingestování streamování.

Povolí přijímání streamování při vytváření clusteru v Azure Průzkumník dat.

Povolit přijímání streamování v existujícím clusteru

Pokud máte existující cluster, můžete povolit přijímání streamování pomocí Azure Portal nebo programově v jazyce C#.

  1. V Azure Portal přejdete do svého clusteru Azure Průzkumník dat.

  2. v Nastavenívyberte konfigurace.

  3. V podokně Konfigurace vyberte zapnuto , aby se povolilo přijímání streamování.

  4. Vyberte Uložit.

    Zapněte přijímání streamování v Azure Průzkumník dat.

Vytvoření cílové tabulky a definování zásad

Vytvořte tabulku pro příjem dat ingestování streamování a definujte příslušné zásady pomocí Azure Portal nebo programově v C#.

  1. V Azure Portal přejděte na svůj cluster.

  2. Vyberte dotaz.

    Vyberte dotaz na portálu Azure Průzkumník dat, aby se povolilo přijímání streamování.

  3. Chcete-li vytvořit tabulku, která bude přijímat data prostřednictvím příjmu streamování, zkopírujte následující příkaz do podokna dotazu a vyberte Spustit.

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

    Vytvořte tabulku pro ingestování streamování do Azure Průzkumník dat.

  4. Zkopírujte jeden z následujících příkazů do podokna dotazu a vyberte Spustit. Tím se definuje zásada pro přijímání streamování v tabulce, kterou jste vytvořili, nebo v databázi obsahující tabulku.

    Tip

    Zásada definovaná na úrovni databáze se vztahuje na všechny existující a budoucí tabulky v databázi.

    • Pro definování zásad pro tabulku, kterou jste vytvořili, použijte:

      .alter table TestTable policy streamingingestion enable
      
    • Pro definování zásad pro databázi obsahující tabulku, kterou jste vytvořili, použijte:

      .alter database StreamingTestDb policy streamingingestion enable
      

    Definujte zásadu pro přijímání streamování v Azure Průzkumník dat.

Vytvoření aplikace pro příjem vysílání datového proudu pro ingestování dat do clusteru

Vytvořte aplikaci pro ingestování dat do clusteru pomocí preferovaného jazyka.

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();
            }
        }
    }
}

Zakázat ingestování streamování v clusteru

Upozornění

Zakazování příjmu streamování může trvat několik hodin.

Než zapnete přijímání streamování v clusteru Azure Průzkumník dat, vyřaďte zásadu přijímání streamování ze všech relevantních tabulek a databází. Odstraněním zásad příjmu streamování se aktivuje změna uspořádání dat v clusteru Azure Průzkumník dat. Data ingestování streamování se přesunou z počátečního úložiště do trvalého úložiště v úložišti sloupců (rozsahy nebo horizontálních oddílů). Tento proces může trvat několik sekund až pár hodin v závislosti na množství dat v počátečním úložišti.

Vyřaďte zásadu ingestování streamování.

Zásady příjmu streamování můžete v jazyce C# Azure Portal nebo programově.

  1. V Azure Portal přejděte do svého clusteru Azure Data Explorer a vyberte Dotaz.

  2. Pokud chcete z tabulky vypustit zásady příjmu streamování, zkopírujte následující příkaz do podokna Dotazu a vyberte Spustit.

    .delete table TestTable policy streamingingestion
    

    Odstranění zásad příjmu streamování v Azure Data Explorer.

  3. V Nastavenívyberte Konfigurace.

  4. V podokně Konfigurace vyberte Vypnuto a zakažtepříjem dat streamování.

  5. Vyberte Uložit.

    Vypněte příjem dat streamování Azure Data Explorer.

Omezení

  • Kurzory databáze nejsou podporované pro databázi, pokud má samotná databáze nebo kterákoli z jejích tabulek definované a povolené zásady příjmu streamování.
  • Mapování dat musí být předem vytvořená pro použití při příjmu streamování. Požadavky na příjem jednotlivých streamovaných dat nepohotoví s vloženými mapováními dat.
  • Značky rozsahu nelze nastavit u streamovaných dat pro příjem dat.
  • Aktualizujte zásady. Zásady aktualizace mohou odkazovat pouze na nově ingestovaná data ve zdrojové tabulce, a ne na žádná jiná data ani tabulky v databázi.
  • Pokud se pro libovolnou z tabulek databáze používá příjem streamování, nelze tuto databázi použít jako vedoucí databázi pro sledované databáze ani jako poskytovatele dat pro Azure Data Share.

Další kroky