Sdílet prostřednictvím


Konfigurace příjmu streamovaných dat v clusteru Azure Data Exploreru

Streamování příjmu dat je užitečné pro načítání dat, když potřebujete nízkou latenci mezi příjmem dat a dotazem. Použití příjmu dat streamování zvažte v následujících scénářích:

  • Vyžaduje se latence menší než sekunda.
  • Optimalizace provozního zpracování mnoha tabulek, kde je stream 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 do každé tabulky vysoký (více než 4 GB za hodinu), zvažte použití dávkového příjmu dat.

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

Zvolte vhodný typ příjmu dat streamování.

Podporují se dva typy příjmu dat streamování:

Typ příjmu dat Popis
Datové připojení Datová připojení centra událostí, IoT Hub a Event Gridu můžou využívat příjem dat streamování za předpokladu, že je povolený na úrovni clusteru. Rozhodnutí o použití příjmu dat streamování se provádí podle zásad příjmu dat streamování nakonfigurovaných v cílové tabulce.
Informace o správě datových připojení najdete v tématu Centrum událostí, IoT Hub a Event Grid.
Vlastní příjem dat Vlastní příjem dat vyžaduje, abyste napsali aplikaci, která používá jednu z klientských knihoven Azure Data Explorer.
Informace v tomto tématu slouží ke konfiguraci vlastního příjmu dat. Může se vám také hodit ukázková aplikace pro příjem dat streamování v jazyce C# .

Následující tabulka vám pomůže vybrat typ příjmu dat, který je vhodný pro vaše prostředí:

Kritérium Datové připojení Vlastní příjem dat
Zpoždění dat mezi zahájením příjmu dat a daty dostupnými pro dotaz Delší zpoždění Kratší zpoždění
Režie na vývoj Rychlé a snadné nastavení, bez režie na vývoj Vysoké režijní náklady na vývoj při vytváření ingestování dat aplikace, zpracování chyb a zajištění konzistence dat

Poznámka

Proces povolení a zakázání příjmu streamovaných dat v clusteru můžete spravovat pomocí Azure Portal nebo programově v jazyce C#. Pokud pro vlastní aplikaci používáte jazyk C#, může být vhodnější použít programový přístup.

Požadavky

Důležité informace o výkonu a provozu

Mezi hlavní přispěvatele, kteří můžou mít vliv na příjem dat streamování, patří:

  • Velikost virtuálního počítače a clusteru: Výkon a kapacita streamování se škálují se zvýšenými velikostmi virtuálních počítačů a clusterů. Počet souběžných žádostí o příjem dat je omezený na šest na jádro. Například u skladových položek s 16 jádry, jako jsou D14 a L16, je maximální podporované zatížení 96 souběžných požadavků na příjem dat. U dvou základních skladových položek, jako je D11, je maximální podporovaná zátěž 12 souběžných požadavků na příjem dat.
  • Limit velikosti dat: Limit velikosti dat pro požadavek na ingestování streamování je 4 MB. To zahrnuje všechna data vytvořená pro zásady aktualizace během příjmu dat.
  • Aktualizace schématu: Aktualizace schématu, jako je vytváření a úpravy tabulek a mapování příjmu dat, můžou u služby příjmu dat streamování trvat až pět minut. Další informace najdete v tématu Příjem dat streamování a změny schématu.
  • Kapacita SSD: Povolení příjmu streamovaných dat v clusteru i v případě, že data nejsou ingestovaná prostřednictvím streamování, využívá část místního disku SSD počítačů clusteru pro streamování dat a snižuje velikost dostupného úložiště pro horkou mezipaměť.

Povolení příjmu streamovaných dat v clusteru

Než budete moct použít příjem dat streamování, musíte tuto funkci v clusteru povolit a definovat zásady příjmu dat streamování. Tuto funkci můžete povolit při vytváření clusteru nebo ho přidat do existujícího clusteru.

Upozornění

Před povolením příjmu dat streamování si projděte omezení .

Povolení příjmu dat streamování při vytváření nového clusteru

Příjem dat streamování můžete povolit při vytváření nového clusteru pomocí Azure Portal nebo programově v jazyce C#.

Při vytváření clusteru pomocí kroků v tématu Vytvoření clusteru a databáze Azure Data Explorer na kartě Konfigurace vyberte Příjem dat streamování>Zapnuto.

Povolte příjem dat streamování při vytváření clusteru v Azure Data Explorer.

Povolení příjmu streamovaných dat v existujícím clusteru

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

  1. V Azure Portal přejděte do clusteru Azure Data Explorer.

  2. V Nastavení vyberte Konfigurace.

  3. V podokně Konfigurace vyberte Zapnuto a povolte příjem dat streamování.

  4. Vyberte Uložit.

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

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

Vytvořte tabulku pro příjem streamovaných dat příjmu dat a definujte související zásady pomocí Azure Portal nebo programově v jazyce C#.

  1. V Azure Portal přejděte do clusteru.

  2. Vyberte Dotaz.

    Výběrem dotazu na portálu Azure Data Explorer portal povolte příjem streamování.

  3. Pokud chcete vytvořit tabulku, která bude přijímat data prostřednictvím příjmu dat streamování, zkopírujte následující příkaz do podokna Dotaz a vyberte Spustit.

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

    Vytvořte tabulku pro streamování příjmu dat do Azure Data Explorer.

  4. Zkopírujte jeden z následujících příkazů do podokna Dotaz a vyberte Spustit. Tím se definují zásady příjmu dat streamování v tabulce, kterou jste vytvořili, nebo v databázi, která tabulku obsahuje.

    Tip

    Zásada definovaná na úrovni databáze se vztahuje na všechny existující a budoucí tabulky v databázi. Když povolíte zásadu na úrovni databáze, není nutné ji povolovat pro jednotlivé tabulky.

    • Pokud chcete definovat zásady pro tabulku, kterou jste vytvořili, použijte:

      .alter table TestTable policy streamingingestion enable
      
    • Pokud chcete definovat zásady pro databázi obsahující tabulku, kterou jste vytvořili, použijte:

      .alter database StreamingTestDb policy streamingingestion enable
      

    Definujte zásady příjmu dat streamování v Azure Data Explorer.

Vytvoření aplikace pro příjem streamovaných dat do clusteru

Vytvořte aplikaci pro příjem dat do clusteru pomocí preferovaného jazyka.

using System.IO;
using System.Threading.Tasks;
using Kusto.Data; // Requires Package Microsoft.Azure.Kusto.Data
using Kusto.Data.Common;
using Kusto.Ingest; // Requires Package Microsoft.Azure.Kusto.Ingest

namespace StreamingIngestion;
class Program
{
    static async Task Main(string[] args)
    {
        var clusterPath = "https://<clusterName>.<region>.kusto.windows.net";
        var appId = "<appId>";
        var appKey = "<appKey>";
        var appTenant = "<appTenant>";
        // Create Kusto connection string with App Authentication
        var connectionStringBuilder = new KustoConnectionStringBuilder(clusterPath)
            .WithAadApplicationKeyAuthentication(
                applicationClientId: appId,
                applicationKey: appKey,
                authority: appTenant
            );
        // Create a disposable client that will execute the ingestion
        using var client = KustoIngestFactory.CreateStreamingIngestClient(connectionStringBuilder);
        // Ingest from a compressed file
        var fileStream = File.Open("MyFile.gz", FileMode.Open);
        // Initialize client properties
        var ingestionProperties = new KustoIngestionProperties(databaseName: "<databaseName>", tableName: "<tableName>");
        // Create source options
        var sourceOptions = new StreamSourceOptions { CompressionType = DataSourceCompressionType.GZip, };
        // Ingest from stream
        await client.IngestFromStreamAsync(fileStream, ingestionProperties, sourceOptions);
    }
}

Zákaz příjmu dat streamování v clusteru

Upozornění

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

Před zakázáním příjmu dat streamování v clusteru Azure Data Explorer odstraňte zásady příjmu dat ze všech relevantních tabulek a databází. Odebráním zásad příjmu dat streamování se aktivuje změna uspořádání dat v clusteru Azure Data Explorer. Streamovaná data příjmu dat se přesunou z počátečního úložiště do trvalého úložiště ve sloupcovém úložišti (rozsahy nebo horizontální oddíly). Tento proces může trvat několik sekund až několik hodin v závislosti na množství dat v počátečním úložišti.

Zrušení zásad příjmu streamování

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

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

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

    .delete table TestTable policy streamingingestion
    

    Odstraňte zásady příjmu streamování v Azure Data Explorer.

  3. V Nastavení vyberte Konfigurace.

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

  5. Vyberte Uložit.

    Vypněte příjem streamovaných dat v Azure Data Explorer.

Omezení

  • Mapování dat musí být předem vytvořené pro použití při příjmu streamů. Jednotlivé požadavky na příjem streamovaných dat nepoužádá vložená mapování dat.
  • U streamovaných dat příjmu dat není možné nastavit značky rozsahu.
  • Aktualizujte zásady. Zásady aktualizace mohou odkazovat pouze na nově přijatá data ve zdrojové tabulce, a ne na jiná data nebo tabulky v databázi.
  • Pokud je v clusteru, který se používá jako vedoucí pro databáze sledujících, povolený ingestování streamování, musí být ingestování streamování povolené i v následujících clusterech, aby bylo možné sledovat streamovaná data příjmu dat. Totéž platí pro sdílení dat clusteru prostřednictvím Data Share.

Další kroky