Übersicht über die Datenerfassung in Azure Data Explorer
Die Datenaufnahme umfasst das Laden von Daten in eine Tabelle in Ihrem Cluster. Azure Data Explorer stellt die Datengültigkeit sicher, konvertiert Formate nach Bedarf und führt Manipulationen wie Schemaabgleich, Organisation, Indizierung, Codierung und Komprimierung durch. Nach dem Aufnehmen sind Daten für die Abfrage verfügbar.
Azure Data Explorer bietet einmalige Aufnahme oder die Einrichtung einer kontinuierlichen Aufnahmepipeline mit Streaming oder Warteschlange. Um zu ermitteln, welche für Sie geeignet ist, lesen Sie die einmalige Erfassung von Daten und die kontinuierliche Erfassung von Daten.
Hinweis
Daten werden gemäß der festgelegten Aufbewahrungsrichtlinie im Speicher gespeichert.
Einmalige Datenaufnahme
Einmalige Erfassung ist hilfreich für die Übertragung von historischen Daten, das Ausfüllen fehlender Daten und die ersten Phasen der Prototyperstellung und Datenanalyse. Dieser Ansatz erleichtert die schnelle Datenintegration, ohne dass eine kontinuierliche Pipelinebindung erforderlich ist.
Es gibt mehrere Möglichkeiten zum Durchführen der einmaligen Erfassung von Daten. Verwenden Sie die folgende Entscheidungsstruktur, um die am besten geeignete Option für Ihren Anwendungsfall zu ermitteln:
Weitere Informationen finden Sie in der entsprechenden Dokumentation:
Legende | Relevante Dokumentation |
---|---|
Informationen zum Aufnehmen finden Sie in den von Azure Data Explorer unterstützten Datenformaten. | |
Siehe die für Azure Data Factory-Pipelines unterstützten Dateiformate. | |
Informationen zum Importieren von Daten aus einem vorhandenen Speichersystem finden Sie unter How to ingest historical data into Azure Data Explorer.To import data from an existing storage system, see How to ingest historical data into Azure Data Explorer. | |
In der Azure Data Explorer-Web-UI können Sie Daten aus einer lokalen Datei, Amazon S3 oder Azure Storage abrufen. | |
Informationen zur Integration in Azure Data Factory finden Sie unter Kopieren von Daten in Azure Data Explorer mithilfe von Azure Data Factory. | |
Kusto-Clientbibliotheken sind für C#, Python, Java, JavaScript, TypeScript und Go verfügbar. Sie können Code schreiben, um Ihre Daten zu bearbeiten, und dann die Kusto Ingest-Bibliothek zum Aufnehmen von Daten in Ihre Azure Data Explorer-Tabelle verwenden. Die Daten müssen vor der Aufnahme in einem der unterstützten Formate vorliegen. |
Kontinuierliche Datenerfassung
Kontinuierliche Aufnahme excels in Situationen, die sofortige Einblicke aus Livedaten fordern. Beispielsweise ist die kontinuierliche Erfassung für Überwachungssysteme, Protokoll- und Ereignisdaten und Echtzeitanalysen nützlich.
Die kontinuierliche Erfassung von Daten umfasst das Einrichten einer Aufnahmepipeline mit streaming oder in die Warteschlange eingereihter Aufnahme:
Streamingaufnahme: Mit dieser Methode wird die Nahezu-Echtzeitlatenz für kleine Datenmengen pro Tabelle sichergestellt. Daten werden in Mikrobatches aus einer Streamingquelle aufgenommen, zunächst im Zeilenspeicher platziert und dann in Spaltenspeicher-Umfang übertragen. Weitere Informationen finden Sie unter Konfigurieren der Streamingaufnahme.
In die Warteschlange eingereiht: Diese Methode ist für hohen Aufnahmedurchsatz optimiert. Daten werden basierend auf Aufnahmeeigenschaften mit kleinen Batches zusammengeführt und für schnelle Abfrageergebnisse optimiert. Standardmäßig beträgt die maximale Warteschlange 5 Minuten, 1000 Elemente oder eine Gesamtgröße von 1 GB. Der Grenzwert für die Datengröße für einen Befehl für die Aufnahme in die Warteschlange beträgt 6 GB. Diese Methode verwendet Wiederholungsmechanismen, um vorübergehende Fehler zu mindern und folgt der Messagingsemantik "mindestens einmal", um sicherzustellen, dass keine Nachrichten im Prozess verloren gehen. Weitere Informationen zur Aufnahme in die Warteschlange finden Sie unter "Batchverarbeitungsrichtlinie für Ingestion".
Hinweis
Für die meisten Szenarien wird empfohlen, die Aufnahme in die Warteschlange zu verwenden, da sie die leistungsstärkste Option ist.
Es gibt mehrere Möglichkeiten zum Konfigurieren der kontinuierlichen Datenaufnahme. Verwenden Sie die folgende Entscheidungsstruktur, um die am besten geeignete Option für Ihren Anwendungsfall zu ermitteln:
Weitere Informationen finden Sie in der entsprechenden Dokumentation:
Legende | Relevante Dokumentation |
---|---|
Eine Liste der Connectors finden Sie in der Übersicht über Connectors. | |
Erstellen Sie eine Event Hubs-Datenverbindung. Die Integration in Event Hubs bietet Dienste wie Drosselung, Wiederholungen, Überwachung und Warnungen. | |
Aufnehmen von Daten aus Apache Kafka, einer verteilten Streamingplattform zum Erstellen von Echtzeitstreaming-Datenpipelinen. | |
Erstellen Sie eine IoT Hub-Datenverbindung. Die Integration in IoT Hubs bietet Dienste wie Drosselung, Wiederholungen, Überwachung und Warnungen. | |
Erstellen Sie eine Ereignisrasterdatenverbindung. Die Integration in Das Ereignisraster bietet Dienste wie Drosselung, Wiederholungen, Überwachung und Warnungen. | |
Lesen Sie die Anleitungen für den relevanten Connector, z. B. Apache Spark, Apache Kafka, Azure Cosmos DB, Fluent Bit, Logstash, Open Telemetry, Power Automate, Splunk und vieles mehr. Weitere Informationen finden Sie in der Übersicht über Connectors. | |
Kusto-Clientbibliotheken sind für C#, Python, Java, JavaScript, TypeScript und Go verfügbar. Sie können Code schreiben, um Ihre Daten zu bearbeiten, und dann die Kusto Ingest-Bibliothek zum Aufnehmen von Daten in Ihre Azure Data Explorer-Tabelle verwenden. Die Daten müssen vor der Aufnahme in einem der unterstützten Formate vorliegen. |
Hinweis
Die Streamingaufnahme wird für alle Aufnahmemethoden nicht unterstützt. Ausführliche Informationen finden Sie in der Dokumentation für die spezifische Aufnahmemethode.
Direkte Erfassung mit Verwaltungsbefehlen
Azure Data Explorer bietet die folgenden Verwaltungsbefehle zur Erfassung, die Daten direkt in Ihren Cluster aufnehmen, anstatt den Datenverwaltungsdienst zu verwenden. Sie sollten nur für Explorations- und Prototyperstellung und nicht für Produktions- oder Hochvolumeszenarien verwendet werden.
- Inlineeingestion: Der Inlinebefehl ".ingest" enthält die Daten, die aufgenommen werden sollen, als Teil des Befehlstexts selbst. Diese Methode ist für improvisierte Testzwecke vorgesehen.
- Erfassung aus Abfrage: Die Befehle ".set", ".append", ".set-or-append" oder ".set-or-replace" geben indirekt die Daten an, die als Ergebnisse einer Abfrage oder eines Befehls aufgenommen werden sollen.
- Erfassung aus Speicher: Der Befehl ".ingest into " ruft die Daten ab, die aus externem Speicher aufgenommen werden sollen, z. B. Azure Blob Storage, auf den Ihr Cluster zugreifen kann und auf die der Befehl verweist.
Hinweis
Im Falle eines Fehlers wird die Aufnahme erneut durchgeführt und mit der exponentiellen Backoff-Methode für Wartezeiten zwischen Versuchen bis zu 48 Stunden wiederholt.
Vergleichen von Aufnahmemethoden
In der folgenden Tabelle werden die wichtigsten Aufnahmemethoden verglichen:
Erfassungsname | Datentyp | Maximale Dateigröße | Streaming, in die Warteschlange eingereiht, direkt | Häufige Szenarien | Überlegungen |
---|---|---|---|---|---|
Apache Spark Connector | Jedes von der Spark-Umgebung unterstützte Format | Unbegrenzt | In Warteschlange | 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. |
Azure Data Factory (ADF) | Unterstützte Datenformate | Unbegrenzt. Erbt ADF-Einschränkungen. | In die Warteschlange eingereiht oder pro ADF-Trigger | Unterstützt Formate, die nicht unterstützt werden, z. B. Excel und XML, und können große Dateien aus über 90 Quellen von perm in die Cloud kopieren. | 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. |
Event Grid | Unterstützte Datenformate | 1 GB unkomprimiert | In Warteschlange | Kontinuierliche Erfassung aus Azure Storage, externe Daten in Azure Storage | Die Erfassung kann durch Blobumbenennungs- oder Bloberstellungsaktionen ausgelöst werden. |
Event Hub | Unterstützte Datenformate | N/V | In die Warteschlange eingereiht, Streaming | Nachrichten, Ereignisse | |
Abrufen der Datenerfahrung | *SV, JSON | 1 GB unkomprimiert | In die Warteschlange eingereiht oder direkt aufgenommen | Einmalig, Tabellenschema erstellen, kontinuierliche Erfassung mit Event Grid definieren, Massenerfassung mit Container (bis zu 5.000 Blobs, keine Obergrenze bei Verwendung der verlaufsbezogenen Erfassung) | |
IoT Hub | Unterstützte Datenformate | N/V | In die Warteschlange eingereiht, Streaming | IoT-Nachrichten, IoT-Ereignisse, IoT-Eigenschaften | |
Kafka Connector | Avro, ApacheAvro, JSON, CSV, Parquet und ORC | Unbegrenzt. Erbt Java-Einschränkungen. | In die Warteschlange eingereiht, Streaming | Vorhandene Pipeline, hoher Volumeverbrauch aus der Quelle. | Die Einstellung kann durch die bestehende Verwendung mehrerer Produzenten oder Verbraucherdienste oder der gewünschten Serviceebene bestimmt werden. |
Kusto-Clientbibliotheken | Unterstützte Datenformate | 1 GB unkomprimiert | In die Warteschlange eingereiht, Streaming, direkt | Schreiben von eigenem Code nach Anforderungen der Organisation | Die programmgesteuerte Erfassung ist für die Reduzierung der Aufnahmekosten (COGs) optimiert, indem Speichertransaktionen während und nach dem Aufnahmeprozess minimiert werden. |
LightIngest | Unterstützte Datenformate | 1 GB unkomprimiert | In die Warteschlange eingereiht oder direkt aufgenommen | Datenmigration, Verlaufsdaten mit angepassten Zeitstempeln für die Erfassung, Massenaufnahme | Groß-/Kleinschreibung und Leerzeichen beachten |
Logic Apps | Unterstützte Datenformate | 1 GB unkomprimiert | In Warteschlange | Wird zum Automatisieren von Pipelines verwendet. | |
LogStash | JSON | Unbegrenzt. Erbt Java-Einschränkungen. | In Warteschlange | Vorhandene Pipeline, verwenden Sie die reife, Open Source-Natur von Logstash für einen hohen Volumenverbrauch von den Eingaben. | Die Einstellung kann durch die bestehende Verwendung mehrerer Produzenten oder Verbraucherdienste oder der gewünschten Serviceebene bestimmt werden. |
Power Automate | Unterstützte Datenformate | 1 GB unkomprimiert | In Warteschlange | Erfassungsbefehle als Teil des Flows. Wird zum Automatisieren von Pipelines verwendet. |
Informationen zu anderen Connectors finden Sie in der Übersicht über Connectors.
Berechtigungen
In der folgenden Liste werden die berechtigungen beschrieben, die für verschiedene Aufnahmeszenarien erforderlich sind:
- Zum Erstellen einer neuen Tabelle sind mindestens Datenbankbenutzerberechtigungen erforderlich.
- Wenn Sie Daten in eine vorhandene Tabelle aufnehmen möchten, ohne das Schema zu ändern, sind mindestens Datenbankingestor-Berechtigungen erforderlich.
- Zum Ändern des Schemas einer vorhandenen Tabelle ist mindestens die Berechtigung "Tabellenadministrator" oder "Datenbankadministrator" erforderlich.
Weitere Informationen finden Sie unter Rollenbasierte Zugriffssteuerung mit Kusto.
Der Aufnahmeprozess
In den folgenden Schritten wird der allgemeine Aufnahmeprozess beschrieben:
Festlegen der Batchverarbeitungsrichtlinie (optional):Daten werden basierend auf der Batchverarbeitungsrichtlinie für die Aufnahme batchverarbeitungsrichtlinie batched. Anleitungen finden Sie unter Optimieren für den Durchsatz.
Festlegen einer Aufbewahrungsrichtlinie (optional): Wenn die Datenbankaufbewahrungsrichtlinie nicht für Ihre Anforderungen geeignet ist, setzen Sie sie auf Tabellenebene außer Kraft. Weitere Informationen finden Sie unter Aufbewahrungsrichtlinie.
Erstellen Sie eine Tabelle: Wenn Sie die Benutzeroberfläche "Daten abrufen" verwenden, können Sie eine Tabelle als Teil des Aufnahmeflusses erstellen. Erstellen Sie andernfalls eine Tabelle vor der Aufnahme in der Azure Data Explorer-Web-UI oder mit dem Befehl ".create table".
Erstellen sie eine Schemazuordnung: Schemazuordnungen helfen beim Binden von Quelldatenfeldern an Zieltabellenspalten. Verschiedene Arten von Zuordnungen werden unterstützt, darunter zeilenorientierte Formate wie CSV, JSON und AVRO sowie spaltenorientierte Formate wie Parkett. In den meisten Methoden können Zuordnungen auch in der Tabelle vorkonfiguriert werden.
Festlegen der Updaterichtlinie (optional): Bestimmte Datenformate wie Parkett, JSON und Avro ermöglichen einfache Aufnahmezeittransformationen. Verwenden Sie die Updaterichtlinie, um die Verarbeitung während der Aufnahme komplexer zu verarbeiten. Diese Richtlinie führt automatisch Extraktionen und Transformationen für aufgenommene Daten in der ursprünglichen Tabelle aus und nimmt dann die geänderten Daten in eine oder mehrere Zieltabellen ein.
Aufnehmen von Daten: Verwenden Sie Das bevorzugte Aufnahmetool, den Verbinder oder die bevorzugte Methode, um die Daten einzubringen.