Übersicht über die Datenerfassung in Azure Data Explorer

Die Datenerfassung ist der Prozess, mit dem Datensätze aus einer Quelle oder mehreren Quellen in eine Tabelle in Azure Data Explorer geladen werden. Nach der Erfassung sind die Daten für Abfragen verfügbar.

Das folgende Diagramm zeigt den vollständigen Flow für die Arbeit in Azure Data Explorer, einschließlich der unterschiedlichen Erfassungsmethoden.

Übersichtsschema der Datenerfassung und -verwaltung

Der Datenverwaltungsdienst von Azure Data Explorer, der für die Datenerfassung zuständig ist, implementiert die folgenden Prozesse:

Azure Data Explorer pullt Daten aus einer externen Quelle und liest Anforderungen aus einer ausstehenden Azure-Warteschlange. Die Daten werden in einem Batch oder Stream an Data Manager übermittelt. Batchdaten, die an dieselbe Datenbank und Tabelle gesendet werden, sind für den Durchsatz der Datenerfassung optimiert. Azure Data Explorer führt eine erste Überprüfung der Daten durch und konvertiert ggf. Datenformate. Die weitere Datenbearbeitung umfasst den Schemaabgleich sowie die Organisation, Indizierung, Codierung und Komprimierung der Daten. Die Daten werden gemäß der festgelegten Aufbewahrungsrichtlinie im Speicher gespeichert. Der Data Manager committet anschließend die Datenerfassung in der Engine, wo sie dann für Abfragen bereitstehen.

Unterstützte Datenformate, Eigenschaften und Berechtigungen

Batcherfassung und Streamingerfassung

  • Bei der Batcherfassung werden die Daten in Batches zusammengefasst und für einen hohen Erfassungsdurchsatz optimiert. Diese Methode stellt die bevorzugte und leistungsfähigste Art der Erfassung dar. Die Daten werden gemäß den Erfassungseigenschaften in Batches zusammengefasst. Anschließend werden kleine Datenbatches zusammengeführt und für schnelle Abfrageergebnisse optimiert. Die Richtlinie für die Batcherfassung kann für Datenbanken oder Tabellen festgelegt werden. Standardmäßig beträgt der Maximalwert für Batches 5 Minuten, 1.000 Elemente oder eine Gesamtgröße von 1 GB. Das Datengröße für einen Batcherfassungsbefehl ist auf 6 GB beschränkt.

  • Die Streamingerfassung erfolgt durch eine fortlaufende Datenerfassung aus einer Streamingquelle. Durch die Streamingerfassung sinkt die Latenz bei kleinen Datensätzen pro Tabelle auf nahezu Echtzeit. Die Daten werden anfänglich im Zeilenspeicher erfasst und dann in Spaltenspeichererweiterungen verschoben. Die Streamingerfassung kann mithilfe einer Azure Data Explorer-Clientbibliothek oder einer der unterstützten Datenpipelines erfolgen.

Erfassungsmethoden und -tools

Azure Data Explorer unterstützt mehrere Erfassungsmethoden mit jeweils eigenen Zielszenarien. Diese Methoden umfassen Erfassungstools, Connectors und Plug-Ins für verschiedene Dienste, verwaltete Pipelines, die programmgesteuerte Erfassung mithilfe von SDKs und Direktzugriff auf die Erfassung.

Erfassung mit verwalteten Pipelines

Für Organisationen, die eine Verwaltung (Drosselung, Wiederholungen, Überwachungen, Warnungen usw.) über einen externen Dienst durchführen möchten, stellt die Verwendung eines Connectors wahrscheinlich die geeignetste Lösung dar. Die Erfassung in der Warteschlange eignet sich für große Datenmengen. Azure Data Explorer unterstützt die folgenden Azure Pipelines:

Erfassung mit Konnektoren und Plug-Ins

Programmgesteuerte Erfassung mit SDKs

Azure-Daten-Explorer bietet SDKs, die für Abfragen und die Datenerfassung verwendet werden können. Die programmgesteuerte Erfassung ist dafür optimiert, die Erfassungskosten (COGs) zu senken, indem Speichertransaktionen während und nach dem Erfassungsprozess minimiert werden.

Verfügbare SDKs und Open-Source-Projekte

Tools

  • Der Erfassungs-Assistent ermöglicht das schnelle Erfassen von Daten durch Erstellen und Anpassen von Tabellen aus einer breiten Palette von Quelltypen. Der Erfassungs-Assistent schlägt basierend auf der Datenquelle in Azure Data Explorer automatisch Tabellen und Zuordnungsstrukturen vor. Sie können den Erfassungs-Assistenten für die einmalige Erfassung oder zum Definieren einer kontinuierlichen Erfassung über Event Grid in dem Container verwenden, in dem die Daten erfasst wurden.

  • LightIngest: Ein Befehlszeilen-Hilfsprogramm für die Ad-hoc-Datenerfassung in Azure Data Explorer. Das Hilfsprogramm kann Quelldaten aus einem lokalen Ordner oder aus einem Azure Blob Storage-Container abrufen.

Befehle zur Steuerung der Erfassung

Verwenden Sie Befehle, um Daten direkt in der Engine zu erfassen. Diese Methode umgeht die Datenverwaltungdienste und sollte daher nur für die Untersuchung und Prototyperstellung verwendet werden. Verwenden Sie diese Methode nicht in Produktionsszenarien oder Szenarien mit hohem Volumen.

  • Inlineerfassung: An die Engine wird ein Steuerungsbefehl (.ingest inline) gesendet, und die zu erfassenden Daten werden direkt im Befehlstext angegeben. Diese Methode ist für improvisierte Testzwecke vorgesehen.

  • Erfassung aus einer Abfrage: An die Engine wird ein Steuerungsbefehl („.set“, „.append“, „.set-or-append“ oder „.set-or-replace“) gesendet, und die Daten werden indirekt als die Ergebnisse einer Abfrage oder eines Befehls angegeben.

  • Erfassung aus dem Speicher (Pull): An die Engine wird ein Steuerungsbefehl (.ingest into) gesendet, und die Daten sind in einem externen Speicher (beispielsweise in Azure Blob Storage) gespeichert, auf den die Engine zugreifen kann und auf den durch den Befehl verwiesen wird.

Vergleich der Erfassungsmethoden und -tools

Erfassungsname Datentyp Maximale Dateigröße Streaming, Batch, direkt Häufige Szenarien Überlegungen
Erfassungs-Assistent *sv, JSON 1 GB unkomprimiert (siehe Hinweis) Batcherfassung in Container, lokale Datei und Blob bei direkter Erfassung Einmalig, Tabellenschema erstellen, kontinuierliche Erfassung mit Event Grid definieren, Massenerfassung mit Container (bis zu 5.000 Blobs, keine Obergrenze bei Verwendung der verlaufsbezogenen Erfassung)
LightIngest Alle Formate unterstützt 1 GB unkomprimiert (siehe Hinweis) Batcherfassung über DM oder direkte Erfassung in Engine Datenmigration, Verlaufsdaten mit angepassten Erfassungszeitstempeln, Massenerfassung (keine Größenbeschränkung) Beachtung von Groß-/Kleinschreibung, platzintensiv
ADX Kafka Avro, ApacheAvro, JSON, CSV, Parquet und ORC Unbegrenzt. Erbt Java-Einschränkungen. Batcherfasung, Streaming Vorhandene Pipeline, hoher Volumeverbrauch aus der Quelle. Die Einstellung kann dadurch bestimmt werden, welcher Dienst vom Typ „Mehrere Producer/Consumer“ bereits verwendet wird oder wie der Dienst verwaltet werden soll.
ADX in Apache Spark Jedes von der Spark-Umgebung unterstützte Format Unbegrenzt Batchverarbeitung Vorhandene Pipeline, Vorverarbeitung in Spark vor der Erfassung, schnelle Möglichkeit zum Erstellen einer sicheren (Spark-)Streamingpipeline aus den verschiedenen Quellen, die von der Spark-Umgebung unterstützt werden. Berücksichtigen Sie die Kosten des Spark-Clusters. Führen Sie bei Batchschreibvorgängen einen Vergleich mit der Azure Data Explorer-Datenverbindung für Event Grid durch. Nehmen Sie bei Spark-Streaming einen Vergleich mit der Datenverbindung für Event Hub vor.
LogStash JSON Unbegrenzt. Erbt Java-Einschränkungen. Eingaben für den Connector sind Logstash-Ereignisse, und die Ausgabe des Connectors erfolgt mithilfe der Batcherfassung in Kusto. Vorhandene Pipeline, ausgereiften Open-Source-Charakter von Logstash für hohen Volumeverbrauch aus den Eingaben nutzen. Die Einstellung kann dadurch bestimmt werden, welcher Dienst vom Typ „Mehrere Producer/Consumer“ bereits verwendet wird oder wie der Dienst verwaltet werden soll.
Azure Data Factory (ADF) Unterstützte Datenformate Unbegrenzt *(nach ADF-Einschränkungen) Batcherfassung oder mit ADF-Trigger Unterstützt Formate, die in der Regel nicht unterstützt werden, große Dateien, kann von über 90 Quellen kopieren, von lokal in die Cloud Bei dieser Methode nimmt die Datenerfassung mehr Zeit in Anspruch. ADF lädt alle Daten in den Arbeitsspeicher hoch und beginnt dann mit der Erfassung.
Power Automate Alle Formate unterstützt 1 GB unkomprimiert (siehe Hinweis) Batchverarbeitung Erfassungsbefehle als Teil des Flows. Wird zum Automatisieren von Pipelines verwendet.
Logic Apps Alle Formate unterstützt 1 GB unkomprimiert (siehe Hinweis) Batchverarbeitung Wird zum Automatisieren von Pipelines verwendet.
IoT Hub Unterstützte Datenformate Batcherfasung, Streaming IoT-Nachrichten, IoT-Ereignisse, IoT-Eigenschaften
Event Hub Unterstützte Datenformate Batcherfasung, Streaming Nachrichten, Ereignisse
Event Grid Unterstützte Datenformate 1 GB unkomprimiert Batching Kontinuierliche Erfassung aus Azure Storage, externe Daten in Azure Storage Die Erfassung kann durch Blobumbenennungs- oder Bloberstellungsaktionen ausgelöst werden.
.NET SDK Alle Formate unterstützt 1 GB unkomprimiert (siehe Hinweis) Batcherfassung, Streaming, direkt Schreiben von eigenem Code nach Anforderungen der Organisation
Python Alle Formate unterstützt 1 GB unkomprimiert (siehe Hinweis) Batcherfassung, Streaming, direkt Schreiben von eigenem Code nach Anforderungen der Organisation
Node.js Alle Formate unterstützt 1 GB unkomprimiert (siehe Hinweis) Batcherfassung, Streaming, direkt Schreiben von eigenem Code nach Anforderungen der Organisation
Java Alle Formate unterstützt 1 GB unkomprimiert (siehe Hinweis) Batcherfassung, Streaming, direkt Schreiben von eigenem Code nach Anforderungen der Organisation
REST Alle Formate unterstützt 1 GB unkomprimiert (siehe Hinweis) Batcherfassung, Streaming, direkt Schreiben von eigenem Code nach Anforderungen der Organisation
Go Alle Formate unterstützt 1 GB unkomprimiert (siehe Hinweis) Batcherfassung, Streaming, direkt Schreiben von eigenem Code nach Anforderungen der Organisation

Hinweis

Wenn in der obigen Tabelle darauf verwiesen wird, unterstützt die Erfassung eine maximale Dateigröße von 6 GB. Es wird empfohlen, Dateien zwischen 100 MB und 1 GB zu erfassen.

Erfassungsprozess

Nachdem Sie die am besten geeignete Erfassungsmethode für Ihre Anforderungen ausgewählt haben, führen Sie die folgenden Schritte aus:

  1. Festlegen der Batchverarbeitungsrichtlinie (optional)

    Der Batchverarbeitungs-Manager fasst Erfassungsdaten basierend auf der Batchverarbeitungsrichtlinie für die Erfassung in Batches zusammen. Definieren Sie vor der Erfassung eine Batchverarbeitungsrichtlinie. Weitere Informationen finden Sie unter Bewährte Methoden für die Erfassung: Optimieren des Durchsatzes. Es kann bis zu fünf Minuten dauern, bis Änderungen an der Batchverarbeitungsrichtlinie in Kraft treten. Die Richtlinie legt Batchgrenzwerte nach drei Faktoren fest: verstrichene Zeit seit der Batcherstellung, akkumulierte Anzahl von Elementen (Blobs) oder Gesamtbatchgröße. Die Standardeinstellungen lauten wie folgt: 5 Minuten/1.000 Blobs/1 GB. Dabei gilt der Grenzwert, der zuerst erreicht wird. Daher kommt es in der Regel zu einer Verzögerung von fünf Minuten, wenn Beispieldaten für die Erfassung in die Warteschlange eingereiht werden.

  2. Festlegen der Aufbewahrungsrichtlinie

    Für Daten, die in einer Tabelle in Azure Data Explorer erfasst werden, gilt die effektive Aufbewahrungsrichtlinie der Tabelle. Wurde für eine Tabelle nicht explizit eine effektive Aufbewahrungsrichtlinie festgelegt, wird sie von der Aufbewahrungsrichtlinie der Datenbank abgeleitet. Die heiße Speicherebene für die Aufbewahrung ist eine Funktion aus der Clustergröße und Ihrer Aufbewahrungsrichtlinie. Wenn Sie mehr Daten erfassen, als Speicherplatz verfügbar ist, werden die zuerst erfassten Daten in die kalte Aufbewahrung überführt.

    Stellen Sie sicher, dass die Aufbewahrungsrichtlinie der Datenbank Ihren Anforderungen entspricht. Ist dies nicht der Fall, überschreiben Sie sie explizit auf Tabellenebene. Weitere Informationen finden Sie unter Aufbewahrungsrichtlinie.

  3. Erstellen einer Tabelle

    Um Daten zu erfassen, muss vorab eine Tabelle erstellt werden. Nutzen Sie eine der folgenden Optionen:

    Hinweis

    Wenn ein Datensatz unvollständig ist oder ein Feld nicht als erforderlicher Datentyp analysiert werden kann, werden die entsprechenden Tabellenspalten mit Nullwerten gefüllt.

  4. Erstellen einer Schemazuordnung

    Die Schemazuordnung hilft dabei, Quelldatenfelder an Spalten der Zieltabelle zu binden. Die Zuordnung ermöglicht Ihnen, Daten aus verschiedenen Quellen basierend auf den definierten Attributen in dieselbe Tabelle zu übernehmen. Es werden unterschiedliche Zuordnungstypen unterstützt – sowohl zeilenorientiert (CSV, JSON und Avro) als auch spaltenorientiert (Parquet). Bei den meisten Methoden können Zuordnungen auch vorab in der Tabelle erstellt und vom Erfassungsbefehlsparameter referenziert werden.

  5. Einrichten einer Updaterichtlinie (optional)

    Einige der Datenformatzuordnungen (Parquet, JSON und Avro) unterstützen einfache und nützliche Transformationen während der Erfassung. Wenn für das Szenario eine komplexere Verarbeitung bei der Erfassung erforderlich ist, verwenden Sie eine Updaterichtlinie, die eine einfache Verarbeitung mithilfe von Abfragebefehlen ermöglicht. Die Updaterichtlinie führt automatisch Extraktionen und Transformationen der erfassten Daten in der ursprünglichen Tabelle aus und erfasst die resultierenden Daten in einer oder mehreren Zieltabellen.

  6. Erfassen von Daten

    Sie können in der Tabelle Beispieldaten erfassen, die Sie in Ihrer Datenbank erstellt haben. Verwenden Sie dazu Befehle oder den Erfassungs-Assistenten. Zum Erfassen eigener Daten können Sie zwischen verschiedenen Optionen wählen, u. a. Erfassungstools, Connectors und Plug-Ins für verschiedene Dienste, verwaltete Pipelines, die programmgesteuerte Erfassung mithilfe von SDKs und Direktzugriff auf die Erfassung.

Nächste Schritte