Översikt över datainmatning i Azure Data Explorer

Datainmatning innebär att data läses in i en tabell i klustret. Azure Data Explorer säkerställer dataverifiering, konverterar format efter behov och utför manipuleringar som schemamatchning, organisation, indexering, kodning och komprimering. När data har matats in är de tillgängliga för frågor.

Azure Data Explorer erbjuder engångsinmatning eller etablering av en pipeline för kontinuerlig inmatning med antingen strömmande eller köad inmatning. Information om vad som är rätt för dig finns i Inmatning av engångsdata och Kontinuerlig datainmatning.

Anteckning

Data sparas i lagringen enligt den angivna kvarhållningsprincipen.

Engångsdatainmatning

Engångsinmatning är användbart för överföring av historiska data, ifyllning av saknade data och de inledande stegen i prototyper och dataanalys. Den här metoden underlättar snabb dataintegrering utan behov av ett kontinuerligt pipeline-åtagande.

Det finns flera sätt att utföra engångsdatainmatning. Använd följande beslutsträd för att fastställa det lämpligaste alternativet för ditt användningsfall:

Flödesdiagram för beslut om engångsinmatning.

Mer information finns i relevant dokumentation:

Bildtext Relevant dokumentation
Se de dataformat som stöds av Azure Data Explorer för inmatning.
Se vilka filformat som stöds för Azure Data Factory pipelines.
Information om hur du importerar data från ett befintligt lagringssystem finns i Så här matar du in historiska data i Azure Data Explorer.
I webbgränssnittet för Azure Data Explorer kan du hämta data från en lokal fil, Amazon S3 eller Azure Storage.
Information om hur du integrerar med Azure Data Factory finns i Kopiera data till Azure Data Explorer med hjälp av Azure Data Factory.
Kusto-klientbibliotek är tillgängliga för C#, Python, Java, JavaScript, TypeScript och Go. Du kan skriva kod för att manipulera dina data och sedan använda Kusto Ingest-biblioteket för att mata in data i din Azure Data Explorer-tabell. Data måste ha något av de format som stöds före inmatningen.

Kontinuerlig datainmatning

Kontinuerlig inmatning utmärker sig i situationer som kräver omedelbara insikter från realtidsdata. Till exempel är kontinuerlig inmatning användbart för övervakning av system, logg- och händelsedata och realtidsanalys.

Kontinuerlig datainmatning innebär att konfigurera en inmatningspipeline med antingen strömmande eller köad inmatning:

  • Strömningsinmatning: Den här metoden säkerställer svarstid nära realtid för små datauppsättningar per tabell. Data matas in i mikrobatchar från en strömningskälla, placeras först i radlagret och överförs sedan till kolumnlagringens utrymmen. Mer information finns i Konfigurera strömningsinmatning.

  • Köad inmatning: Den här metoden är optimerad för högt dataflöde för inmatning. Data batchas baserat på inmatningsegenskaper, med små batchar som sedan sammanfogas och optimeras för snabba frågeresultat. Som standard är de maximala köade värdena 5 minuter, 1 000 objekt eller en total storlek på 1 GB. Datastorleksgränsen för ett köat inmatningskommando är 6 GB. Den här metoden använder återförsöksmekanismer för att minimera tillfälliga fel och följer meddelandesemantiken "minst en gång" för att säkerställa att inga meddelanden går förlorade i processen. Mer information om köad inmatning finns i Ingestion batching policy (Ingestion batching policy).

Anteckning

I de flesta scenarier rekommenderar vi att du använder köad inmatning eftersom det är det mer högpresterande alternativet.

Det finns flera sätt att konfigurera kontinuerlig datainmatning. Använd följande beslutsträd för att fastställa det lämpligaste alternativet för ditt användningsfall:

Diagram över beslutsträd för kontinuerlig inmatning.

Mer information finns i relevant dokumentation:

Bildtext Relevant dokumentation
En lista över anslutningsappar finns i Översikt över anslutningsappar.
Skapa en Event Hubs-dataanslutning. Integrering med Event Hubs tillhandahåller tjänster som begränsning, återförsök, övervakning och aviseringar.
Mata in data från Apache Kafka, en distribuerad strömningsplattform för att skapa strömmande datapipelines i realtid.
Skapa en IoT Hub dataanslutning. Integrering med IoT Hubs tillhandahåller tjänster som begränsning, återförsök, övervakning och aviseringar.
Skapa en Event Grid-dataanslutning. Integrering med Event Grid tillhandahåller tjänster som begränsning, återförsök, övervakning och aviseringar.
Se vägledningen för relevant anslutningsapp, till exempel Apache Spark, Apache Kafka, Azure Cosmos DB, Fluent Bit, Logstash, Open Telemetry, Power Automate, Splunk med mera. Mer information finns i Översikt över anslutningsappar.
Kusto-klientbibliotek är tillgängliga för C#, Python, Java, JavaScript, TypeScript och Go. Du kan skriva kod för att manipulera dina data och sedan använda Kusto Ingest-biblioteket för att mata in data i din Azure Data Explorer-tabell. Data måste ha något av de format som stöds före inmatningen.

Anteckning

Strömningsinmatning stöds inte för alla inmatningsmetoder. Supportinformation finns i dokumentationen för den specifika inmatningsmetoden.

Direkt inmatning med hanteringskommandon

Azure Data Explorer erbjuder följande inmatningshanteringskommandon som matar in data direkt till klustret i stället för att använda datahanteringstjänsten. De bör endast användas för utforskning och prototyper och inte i produktions- eller högvolymscenarier.

Jämföra inmatningsmetoder

I följande tabell jämförs de huvudsakliga inmatningsmetoderna:

Inmatningsnamn Datatyp Maximal filstorlek Direktuppspelning, i kö, direkt De vanligaste scenarierna Överväganden
Apache Spark-anslutningsapp Alla format som stöds av Spark-miljön Obegränsat I kö Befintlig pipeline, förbearbetning i Spark före inmatning, snabbt sätt att skapa en säker (Spark)-direktuppspelningspipeline från de olika källor som Spark-miljön stöder. Överväg kostnaden för Spark-kluster. För batchskrivning jämför du med Azure Data Explorer dataanslutning för Event Grid. För Spark-strömning jämför du med dataanslutningen för händelsehubben.
Azure Data Factory (ADF) Dataformat som stöds Obegränsad. Ärver ADF-begränsningar. I kö eller per ADF-utlösare Stöder format som inte stöds, till exempel Excel och XML, och kan kopiera stora filer från över 90 källor, från perm till molnet Den här metoden tar relativt längre tid tills data matas in. ADF laddar upp alla data till minnet och börjar sedan mata in.
Event Grid Dataformat som stöds 1 GB okomprimerat I kö Kontinuerlig inmatning från Azure Storage, externa data i Azure Storage Inmatning kan utlösas av åtgärder för att byta namn på blobar eller skapa blobar
Händelsehubb Dataformat som stöds Ej tillämpligt I kö, direktuppspelning Meddelanden, händelser
Hämta dataupplevelse *SV, JSON 1 GB okomprimerat Köad eller direkt inmatning Enstaka, skapa tabellschema, definition av kontinuerlig inmatning med Event Grid, massinmatning med container (upp till 5 000 blobar; ingen gräns vid användning av historisk inmatning)
IoT Hub Dataformat som stöds Ej tillämpligt I kö, direktuppspelning IoT-meddelanden, IoT-händelser, IoT-egenskaper
Kafka-anslutningsprogram Avro, ApacheAvro, JSON, CSV, Parquet och ORC Obegränsad. Ärver Java-begränsningar. I kö, direktuppspelning Befintlig pipeline, hög volymförbrukning från källan. Preferensen kan bestämmas av den befintliga användningen av flera producenter eller konsumenttjänster eller önskad nivå av tjänsthantering.
Kusto-klientbibliotek Dataformat som stöds 1 GB okomprimerat I kö, direktuppspelning, direkt Skriva din egen kod enligt organisationens behov Programmatisk inmatning är optimerad för att minska kostnader för inmatning (KS) genom att minimera lagringstransaktioner under och efter inmatningsprocessen.
LightIngest Dataformat som stöds 1 GB okomprimerat Köad eller direkt inmatning Datamigrering, historiska data med justerade tidsstämplar för inmatning, massinmatning Skiftlägeskänsligt och utrymmeskänsligt
Logic Apps Dataformat som stöds 1 GB okomprimerat I kö Används för att automatisera pipelines
LogStash JSON Obegränsad. Ärver Java-begränsningar. I kö Befintlig pipeline använder logstash som mogna öppen källkod för hög volymförbrukning från indata. Preferensen kan bestämmas av den befintliga användningen av flera producenter eller konsumenttjänster eller önskad nivå av tjänsthantering.
Power Automate Dataformat som stöds 1 GB okomprimerat I kö Inmatningskommandon som en del av flödet. Används för att automatisera pipelines.

Information om andra anslutningsappar finns i Översikt över anslutningsappar.

Behörigheter

I följande lista beskrivs de behörigheter som krävs för olika inmatningsscenarier:

  • För att skapa en ny tabell krävs minst behörigheter för databasanvändare.
  • Om du vill mata in data i en befintlig tabell, utan att ändra dess schema, krävs minst behörigheter för Database Ingestor.
  • För att ändra schemat för en befintlig tabell krävs minst behörigheter för Table Admin eller Database Admin.

Mer information finns i Kusto rollbaserad åtkomstkontroll.

Inmatningsprocessen

Följande steg beskriver den allmänna inmatningsprocessen:

  1. Ange batchbearbetningsprincip (valfritt): Data batchhanteras baserat på inmatningsbatchprincipen. Vägledning finns i Optimera för dataflöde.

  2. Ange kvarhållningsprincip (valfritt): Om kvarhållningsprincipen för databasen inte är lämplig för dina behov åsidosätter du den på tabellnivå. Mer information finns i Kvarhållningsprincip.

  3. Skapa en tabell: Om du använder funktionen Hämta data kan du skapa en tabell som en del av inmatningsflödet. Annars skapar du en tabell före inmatning i webbgränssnittet för Azure Data Explorer eller med kommandot .create table.

  4. Skapa en schemamappning: Schemamappningar hjälper till att binda källdatafält till måltabellkolumner. Olika typer av mappningar stöds, inklusive radorienterade format som CSV, JSON och AVRO och kolumnorienterade format som Parquet. I de flesta metoder kan mappningar också förskapas i tabellen.

  5. Ange uppdateringsprincip (valfritt): Vissa dataformat som Parquet, JSON och Avro möjliggör enkla inmatningstidstransformeringar. Om du vill ha mer invecklad bearbetning under inmatningen använder du uppdateringsprincipen. Den här principen kör automatiskt extraheringar och transformeringar på inmatade data i den ursprungliga tabellen och matar sedan in ändrade data i en eller flera måltabeller.

  6. Mata in data: Använd önskat inmatningsverktyg, anslutningsprogram eller metod för att hämta data.