Konfigurace příjmu streamovaných dat ve fondu Azure Synapse Data Explorer (Preview)
Streamování příjmu dat je užitečné při načítání dat, pokud 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 |
---|---|
Centrum událostí nebo IoT Hub | Rozbočovače jsou nakonfigurované jako zdroje dat streamování tabulek. Informace o jejich nastavení najdete v tématu Centrum událostí. |
Vlastní příjem dat | Vlastní příjem dat vyžaduje, abyste napsali aplikaci, která používá jednu z Azure Synapse Data Explorer klientských knihoven. 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 | Centrum událostí / IoT Hub | 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
Příjem dat z centra událostí do Data Explorer fondů nebude fungovat, pokud váš pracovní prostor Synapse používá spravovanou virtuální síť s povolenou ochranou před exfiltrací dat.
Požadavky
Předplatné Azure. Vytvořte si bezplatný účet Azure.
Vytvoření fondu Data Explorer pomocí Synapse Studio nebo Azure Portal
Vytvořte databázi Data Explorer.
V Synapse Studio v levém podokně vyberte Data.
Vyberte + (Přidat nový zdroj) >Data Explorer fondu a použijte následující informace:
Nastavení Navrhovaná hodnota Popis Název fondu contosodataexplorer Název fondu Data Explorer, který se má použít Name TestDatabase Název databáze musí být v rámci clusteru jedinečný. Výchozí doba uchovávání 365 Časový rozsah (ve dnech), pro který je zaručeno, že data budou k dispozici k dotazování. Časový rozsah se začíná měřit od okamžiku, kdy jsou data ingestována. Výchozí období mezipaměti 31 Časový rozsah (ve dnech), po který mají být často dotazovaná data k dispozici v úložišti SSD nebo paměti RAM, nikoli v dlouhodobějším úložišti. Vyberte Vytvořit a vytvořte databázi. Vytvoření obvykle trvá méně než minutu.
- Získejte koncové body dotazů a příjmu dat.
V Synapse Studio v levém podokně vyberte Spravovat>Data Explorer fondy.
Vyberte fond Data Explorer, který chcete použít k zobrazení jeho podrobností.
Poznamenejte si koncové body dotazů a příjmu dat. Při konfiguraci připojení k fondu Data Explorer použijte koncový bod dotazu jako cluster. Při konfiguraci sad SDK pro příjem dat použijte koncový bod pro příjem dat.
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ří:
- Specifikace výpočetních prostředků: Výkon a kapacita streamování se škálují se zvýšenou velikostí fondu Data Explorer. Počet souběžných žádostí o příjem dat je omezený na šest na jádro. Například pro 16 základních typů úloh, jako jsou optimalizované výpočetní prostředky (velké) a úložiště optimalizované (velké), je maximální podporovaná zátěž 96 souběžných požadavků na příjem dat. Pro dva základní typy úloh, jako je optimalizovaný výpočetní výkon (extra malý), 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.
- 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 dat streamování ve fondu Data Explorer, i když data nejsou ingestovaná prostřednictvím streamování, využívá část místního disku SSD počítačů Data Explorer fondu pro streamování dat pro příjem dat a snižuje velikost dostupného úložiště pro horkou mezipaměť.
Povolení příjmu streamovaných dat ve fondu Data Explorer
Než budete moct použít příjem dat streamování, musíte tuto funkci povolit ve fondu Data Explorer a definovat zásady příjmu dat streamování. Tuto funkci můžete povolit při vytváření fondu Data Explorer nebo ho přidat do existujícího fondu Data Explorer.
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 fondu Data Explorer
Příjem dat streamování můžete povolit při vytváření nového fondu Data Explorer pomocí Azure Synapse Studia nebo Azure Portal.
Při vytváření fondu Data Explorer podle kroků v tématu Vytvoření fondu Data Explorer pomocí Synapse Studio vyberte na kartě Další nastavení možnost Příjem dat streamování>povoleno.
Povolení příjmu dat streamování v existujícím fondu Data Explorer
Pokud máte existující fond Data Explorer, můžete povolit příjem dat streamování pomocí Azure Portal.
- V Azure Portal přejděte do Data Explorer fondu.
- V Nastavení vyberte Konfigurace.
- V podokně Konfigurace vyberte Zapnuto a povolte příjem dat streamování.
- Vyberte Uložit.
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 Synapse Studia nebo Azure Portal.
V Synapse Studio v levém podokně vyberte Vývoj.
V části Skripty KQL vyberte + (Přidat nový prostředek) >skript KQL. V pravém podokně můžete svůj skript pojmenovat.
V nabídce Připojit k vyberte contosodataexplorer.
V nabídce Použít databázi vyberte TestDatabáze.
Vložte následující příkaz a výběrem možnosti Spustit vytvořte tabulku.
.create table TestTable (TimeStamp: datetime, Name: string, Metric: int, Source:string)
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.
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
Vytvoření aplikace pro příjem streamovaných dat do fondu Data Explorer
Vytvořte aplikaci pro příjem dat do fondu Data Explorer pomocí preferovaného jazyka. Pro proměnnou poolPath použijte koncový bod dotazu, který jste si poznamenali v požadavcích.
using Kusto.Data;
using Kusto.Ingest;
using System.IO;
using Kusto.Data.Common;
namespace StreamingIngestion
{
class Program
{
static void Main(string[] args)
{
string poolPath = "https://<Poolname>.<WorkspaceName>.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(poolPath)
.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();
}
}
}
}
Zákaz příjmu dat streamování ve fondu Data Explorer
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í ve fondu 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 ve fondu 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 dat streamování
Zásady příjmu dat streamování můžete zrušit pomocí Azure Synapse Studia nebo Azure Portal.
V Synapse Studio v levém podokně vyberte Vývoj.
V části Skripty KQL vyberte + (Přidat nový prostředek) >skript KQL. V pravém podokně můžete svůj skript pojmenovat.
V nabídce Připojit k vyberte contosodataexplorer.
V nabídce Použít databázi vyberte TestDatabáze.
Vložte následující příkaz a výběrem možnosti Spustit vytvořte tabulku.
.delete table TestTable policy streamingingestion
V Azure Portal přejděte do Data Explorer fondu.
V Nastavení vyberte Konfigurace.
V podokně Konfigurace vyberte Zapnuto a povolte příjem dat streamování.
Vyberte Uložit.
Omezení
- Kurzory databáze nejsou pro databázi podporované, pokud má samotná databáze nebo některé z jejích tabulek definované a povolené zásady příjmu dat streamování .
- Mapování dat musí být předem vytvořená pro použití při ingestování streamování. Jednotlivé požadavky na příjem dat streamování neobsahují mapování vložených dat.
- U streamovaných dat příjmu dat nelze nastavit značky rozsahu.
- Aktualizujte zásady. Zásady aktualizace mohou odkazovat pouze na nově ingestované data ve zdrojové tabulce, a ne na žádná jiná data nebo tabulky v databázi.
- Pokud se v některé z tabulek databáze používá příjem dat streamování, nelze tuto databázi použít jako vedoucí databázi pro databáze sledujících nebo jako poskytovatele dat pro Azure Synapse Analytics Data Share.