Integration von Azure Data Explorer und Azure Data Factory
Azure Data Factory (ADF) ist ein cloudbasierter Datenintegrationsdienst, der die Integration verschiedener Datenspeicher und die Durchführung von Aktivitäten für die Daten ermöglicht. Mit ADF können Sie datengesteuerte Workflows zur Orchestrierung und Automatisierung der Datenverschiebung und Transformation von Daten erstellen. Azure Data Explorer ist einer der unterstützten Datenspeicher in Azure Data Factory.
Azure Data Factory-Aktivitäten für Azure Data Explorer
Für Azure Data Explorer-Benutzer sind verschiedene Azure Data Factory-Integrationen verfügbar:
Copy-Aktivität
Die Kopieraktivität von Azure Data Factory wird verwendet, um Daten zwischen Datenspeichern zu übertragen. Azure Data Explorer wird als Quelle, aus der Daten in Azure Data Explorer in einen beliebigen unterstützten Datenspeicher kopiert werden, und als Senke unterstützt, in die Daten aus einem beliebigen unterstützten Datenspeicher in Azure Data Explorer kopiert werden. Weitere Informationen finden Sie unter Kopieren von Daten in oder aus Azure Data Explorer mithilfe von Azure Data Factory. Eine ausführliche exemplarische Vorgehensweise finden Sie unter Laden von Daten aus Azure Data Factory in Azure Data Explorer. Azure Data Explorer wird von Azure IR (Integration Runtime) unterstützt, um Daten innerhalb Azure zu kopieren. Azure Data Explorer wird von einer selbstgehosteten IR unterstützt, um von Daten aus/in Datenspeicher zu kopieren, die sich lokal oder in einem Netzwerk mit Zugriffssteuerung, z. B. in einem virtuellen Azure-Netzwerk, befinden. Weitere Informationen finden Sie in der zu verwendenden IR.
Tipp
Wenn Sie die Kopieraktivität verwenden und einen verknüpften Dienst oder ein Dataset erstellen, wählen Sie den Datenspeicher Azure Data Explorer(Kusto) und nicht den alten Datenspeicher Kusto aus.
Lookup-Aktivität
Die Lookup-Aktivität wird zum Ausführen von Abfragen in Azure Data Explorer verwendet. Das Ergebnis der Abfrage wird als Ausgabe der Lookup-Aktivität zurückgegeben und kann in der nächsten Aktivität in der Pipeline verwendet werden (siehe Beschreibung in der ADF-Lookup-Dokumentation).
Neben der Größenbeschränkung von 5.000 Zeilen und 2 MB für Antworten weist die Aktivität auch ein Abfragezeitlimit von 1 Stunde auf.
Befehlsaktivität
Die Befehlsaktivität ermöglicht die Ausführung von Azure Data Explorer-Verwaltungsbefehlen. Im Gegensatz zu Abfragen können die Verwaltungsbefehle möglicherweise Daten oder Metadaten ändern. Einige der Verwaltungsbefehle dienen zum Erfassen von Daten in Azure Data Explorer mithilfe von Befehlen wie .ingest
oder .set-or-append
) oder zum Kopieren von Daten aus Azure Data Explorer in externe Datenspeicher mithilfe von Befehlen wie .export
.
Eine ausführliche exemplarische Vorgehensweise der Befehlsaktivität finden Sie unter Verwenden Azure Data Factory Befehlsaktivität zum Ausführen von Azure Data Explorer-Verwaltungsbefehlen. Die Verwendung eines Verwaltungsbefehls zum Kopieren von Daten kann manchmal eine schnellere und kostengünstigere Option als die Copy-Aktivität sein. Weitere Informationen zum Bestimmen, wann die Befehlsaktivität und wann die Kopieraktivität verwendet werden sollte, finden Sie unter Auswählen zwischen Kopier- und Befehlsaktivitäten beim Kopieren von Daten.
Massenkopieren aus einer Datenbankvorlage
Die Azure Data Factory-Vorlage zum Massenkopieren aus einer Datenbank in Azure Data Explorer ist eine vordefinierte Azure Data Factory-Pipeline. Die Vorlage wird zum Erstellen einer Vielzahl von Pipelines für eine Datenbank oder Tabelle verwendet, damit Daten schneller kopiert werden.
Zuordnen von Datenflüssen
Azure Data Factory-Zuordnungsdatenflüsse sind visuell gestaltete Datentransformationen, mit denen Datentechniker eine grafische Datentransformationslogik entwickeln können, ohne Code schreiben zu müssen. Verwenden Sie zum Erstellen eines Datenflusses und zum Erfassen von Daten in Azure Data Explorer die folgende Methode:
- Erstellen Sie den Zuordnungsdatenfluss.
- Exportieren Sie die Daten in Azure-Blob.
- Definieren Sie Event Grid oder die ADF-Kopieraktivität, um die Daten in Azure Data Explorer zu erfassen.
Auswählen zwischen Kopier- und Azure Data Explorer-Befehlsaktivitäten beim Kopieren von Daten
Dieser Abschnitt unterstützt Sie bei der Auswahl der richtigen Aktivität für Ihre Anforderungen zum Kopieren von Daten.
Beim Kopieren von Daten aus oder in Azure Data Explorer stehen in Azure Data Factory zwei Optionen zur Verfügung:
- Kopieraktivität.
- Azure Data Explorer Command-Aktivität, die einen der Verwaltungsbefehle ausführt, die Daten in Azure Data Explorer übertragen.
Kopieren von Daten aus Azure Data Explorer
Sie können Daten aus Azure Data Explorer mit der Kopieraktivität oder mit dem Befehl .export
kopieren. Der .export
-Befehl führt eine Abfrage aus und exportiert dann die Ergebnisse der Abfrage.
In der folgenden Tabelle finden Sie einen Vergleich zwischen der Kopieraktivität und dem .export
-Befehl zum Kopieren von Daten aus Azure Data Explorer.
Copy-Aktivität | .export-Befehl | |
---|---|---|
Beschreibung des Ablaufs | ADF führt eine Abfrage in Kusto aus, verarbeitet das Ergebnis und sendet es an den Zieldatenspeicher. (Azure Data Explorer > ADF-Senkendatenspeicher>) |
ADF sendet einen .export Verwaltungsbefehl an Azure Data Explorer, der den Befehl ausführt, und sendet die Daten direkt an den Zieldatenspeicher. (** Azure Data Explorer > Senkendatenspeicher**) |
Unterstützte Zieldatenspeicher | Eine Vielzahl von unterstützten Datenspeichern | ADLSv2, Azure-Blob, SQL-Datenbank |
Leistung | Zentralisiert |
|
Servereinschränkungen | Abfragelimits können erweitert/deaktiviert werden. Standardmäßig gilt für ADF-Abfragen:
|
Erweitert oder deaktiviert standardmäßig die Abfragelimits:
|
Tipp
Wenn das Kopierziel einer der vom .export
-Befehl unterstützten Datenspeicher ist und keine Funktion der Kopieraktivität für die jeweiligen Anforderungen entscheidend ist, wählen Sie den .export
-Befehl aus.
Kopieren von Daten nach Azure Data Explorer
Sie können Daten mit der Kopieraktivität oder mit den Erfassungsbefehlen, z. B. Erfassung aus Abfrage (.set-or-append
, .set-or-replace
, .set
, .replace)
und Erfassung aus Speicher (.ingest
) in Azure Data Explorer kopieren.
In der folgenden Tabelle finden Sie einen Vergleich zwischen der Kopieraktivität und dem Erfassungsbefehl zum Kopieren von Daten nach Azure Data Explorer.
Copy-Aktivität | Erfassung aus der Abfrage.set-or-append / .set-or-replace / .set / .replace |
Erfassung aus dem Speicher.ingest |
|
---|---|---|---|
Beschreibung des Ablaufs | ADF ruft die Daten aus dem Quelldatenspeicher ab, konvertiert sie in ein Tabellenformat und führt die erforderlichen Schemazuordnungsänderungen durch. ADF lädt die Daten dann in Azure-Blobs hoch, teilt sie in Blöcke auf und lädt die Blobs dann herunter, um sie in der Azure Data Explorer-Tabelle zu erfassen. (Quelldatenspeicher > ADF > Azure Blobs > Azure Data Explorer) |
Diese Befehle können eine Abfrage oder einen .show Befehl ausführen und die Ergebnisse der Abfrage in einer Tabelle erfassen (Azure Data Explorer > Azure Data Explorer). |
Mit diesem Befehl werden Daten in einer Tabelle erfasst, indem die Daten aus mindestens einem Cloudspeicherartefakt abgerufen werden (Pull). |
Unterstützte Quelldatenspeicher | Vielzahl verschiedener Optionen | ADLS Gen 2, Azure Blob, SQL (mithilfe des sql_request()-Plug-Ins), Azure Cosmos DB (mit dem cosmosdb_sql_request-Plug-In) und alle anderen Datenspeicher, die HTTP- oder Python-APIs bereitstellt. | Dateisystem, Azure Blob Storage, ADLS Gen 1, ADLS Gen 2 |
Leistung | Erfassungen werden in die Warteschlange eingereiht und verwaltet. Dadurch werden Erfassungen mit geringer Größe sichergestellt sowie durch Lastenausgleich, Wiederholungsversuchen und Fehlerbehandlung hohe Verfügbarkeit gewährleistet. |
|
|
Servereinschränkungen |
|
|
|
Tipp
- Verwenden Sie beim Kopieren von Daten aus ADF nach Azure Data Explorer die
ingest from query
-Befehle. - Verwenden Sie für große Datasets (>1 GB) die Copy-Aktivität.
Erforderliche Berechtigungen
In der folgenden Tabelle sind die erforderlichen Berechtigungen für verschiedene Schritte bei der Integration mit Azure Data Factory aufgeführt.
Schritt | Vorgang | Minimale Berechtigungsebene | Notizen |
---|---|---|---|
Erstellen eines verknüpften Diensts | Datenbanknavigation | Anzeigender Datenbankbenutzer Der angemeldete Benutzer, der ADF verwendet, muss über die Berechtigung verfügen, Datenbankmetadaten zu lesen. |
Der Benutzer kann den Datenbanknamen manuell angeben. |
Testen der Verbindung | Datenbankmonitor oder Tabelleningestor Der Dienstprinzipal muss über die Berechtigung verfügen, .show -Befehle auf Datenbankebene oder eine Erfassung auf Tabellenebene auszuführen. |
|
|
Erstellen eines Datasets | Tabellennavigation | Datenbankmonitor Der angemeldete Benutzer, der ADF verwendet, muss über die Berechtigung verfügen, .show -Befehle auf Datenbankebene auszuführen. |
Der Benutzer kann den Tabellennamen manuell angeben. |
Erstellen eines Datasets oder Kopieraktivität | Datenvorschau | Anzeigender Datenbankbenutzer Der Dienstprinzipal muss über die Berechtigung verfügen, Datenbankmetadaten zu lesen. |
|
Schema importieren | Anzeigender Datenbankbenutzer Der Dienstprinzipal muss über die Berechtigung verfügen, Datenbankmetadaten zu lesen. |
Wenn Azure Data Explorer die Quelle einer Tabellarischen Kopie ist, importiert ADF das Schema automatisch, auch wenn der Benutzer das Schema nicht explizit importiert hat. | |
Azure Data Explorer als Senke | Erstellen einer Spaltenzuordnung anhand der Namen | Datenbankmonitor Der Dienstprinzipal muss über die Berechtigung verfügen, .show -Befehle auf Datenbankebene auszuführen. |
|
|
Tabelleningestor oder Datenbankadministrator Der Dienstprinzipal muss über die Berechtigung verfügen, Änderungen an einer Tabelle vorzunehmen. |
||
Erfassen von Daten | Tabelleningestor oder Datenbankadministrator Der Dienstprinzipal muss über die Berechtigung verfügen, Änderungen an einer Tabelle vorzunehmen. |
||
Azure Data Explorer als Quelle | Abfrage ausführen | Anzeigender Datenbankbenutzer Der Dienstprinzipal muss über die Berechtigung verfügen, Datenbankmetadaten zu lesen. |
|
Kusto-Befehl | Gemäß Berechtigungsstufe des jeweiligen Befehls. |
Leistung
Wenn Azure Data Explorer die Quelle ist und Sie eine Lookup-, Kopier- oder Befehlsaktivität verwenden, die eine Abfrage enthält, finden Sie unter Bewährte Methoden für Abfragen Informationen zur Leistung. Weitere Informationen finden Sie darüber hinaus in der ADF-Dokumentation für die Kopieraktivität.
In diesem Abschnitt wird die Verwendung der Kopieraktivität behandelt, wenn Azure Data Explorer die Senke ist. Der geschätzte Durchsatz für eine Azure Data Explorer-Senke beträgt 11-13 Mbit/s. In der folgenden Tabelle sind die Parameter aufgeführt, die die Leistung der Azure Data Explorer-Senke beeinflussen.
Parameter | Notizen |
---|---|
Geografische Anordnung der Komponenten | Platzieren Sie alle Komponenten in derselben Region:
|
Anzahl von DIUs | Eine VM für alle vier diUs, die von ADF verwendet werden. Das Erhöhen der DIUs ist nur hilfreich, wenn Es sich bei Ihrer Quelle um einen dateibasierten Speicher mit mehreren Dateien handelt. Die verschiedenen Dateien werden dann parallel von einer VM verarbeitet. Daher hat das Kopieren einer einzelnen großen Datei eine höhere Latenz als das Kopieren mehrerer kleinerer Dateien. |
Menge und SKU Ihres Azure Data Explorer-Clusters | Eine hohe Anzahl von Azure Data Explorer-Knoten erhöht die Erfassungsverarbeitungszeit. Durch die Verwendung von Entwicklungs-SKUs wird die Leistung erheblich eingeschränkt. |
Parallelität | Um eine große Datenmenge aus einer Datenbank zu kopieren, partitionieren Sie Ihre Daten, und verwenden Sie dann eine ForEach-Schleife, die jede Partition parallel kopiert, oder verwenden Sie die Data Explorer-Vorlage massenkopieren aus der Datenbank in Azure. Hinweis: Einstellungen>Parallelitätsgrad in der Copy-Aktivität ist für Azure Data Explorer nicht relevant. |
Komplexität der Datenverarbeitung | Die Latenz hängt jeweils vom Format der Quelldatei, von der Spaltenzuordnung und von der Komprimierung ab. |
Die VM, auf der die Integration Runtime ausgeführt wird |
|
Tipps und häufige Probleme
Überwachen des Aktivitätsstatus
Bei der Überwachung des Aktivitätsfortschritts kann die geschriebene Data-Eigenschaft größer als die Data read-Eigenschaft sein, da datenlese entsprechend der Binären Dateigröße berechnet wird, während geschriebene Daten nach der Größe im Arbeitsspeicher berechnet werden, nachdem die Daten deserialisiert und dekomprimiert wurden.
Bei der Überwachung des Aktivitätsstatus können Sie sehen, dass Daten in die Azure Data Explorer-Senke geschrieben werden. Wenn Sie die Azure Data Explorer-Tabelle abfragen, sehen Sie, dass die Daten nicht angekommen sind. Dies liegt daran, dass das Kopieren in Azure Data Explorer in zwei Phasen erfolgt.
- In der ersten Phase werden die Quelldaten gelesen, in Blöcke zu je 900 MB aufgeteilt und die einzelnen Blöcke in ein Azure-Blob hochgeladen. Die erste Phase ist in der Statusansicht der ADF-Aktivität sichtbar.
- Die zweite Phase beginnt, sobald alle Daten in Azure-Blobs hochgeladen wurden. Die Knoten Ihres Clusters laden die Blobs herunter und erfassen die Daten in der Senkentabelle. Die Daten sind dann in der Azure Data Explorer-Tabelle sichtbar.
Fehler beim Erfassen von CSV-Dateien aufgrund einer unsachgemäßen Verwendung von Escapezeichen
Azure Data Explorer erwartet, dass CSV-Dateien RFC 4180 entsprechen. Voraussetzungen:
- Felder mit Zeichen, die mit einem Escapezeichen versehen werden müssen (z. B. " und Zeilenumbrüche), müssen mit einem Anführungszeichen ( " ) ohne Leerzeichen beginnen und enden. Für alle Anführungszeichen ( " ) innerhalb des Felds wird ein weiteres Anführungszeichen ( " ) als Escapezeichen verwendet ( "" ). Beispielsweise ist "Hello, ""World""" eine gültige CSV-Datei mit einem einzelnen Datensatz, der aus einer einzelnen Spalte oder einem einzelnen Feld mit dem Inhalt Hello, "World" besteht.
- Alle Datensätze in der Datei müssen über dieselbe Anzahl von Spalten und Feldern verfügen.
Azure Data Factory unterstützt den umgekehrten Schrägstrich (Escapezeichen). Wenn Sie mit Azure Data Factory eine CSV-Datei mit umgekehrtem Schrägstrich generieren, schlägt die Erfassung der Datei in Azure Data Explorer fehl.
Beispiel
Die Textwerte Hello, "World"
ABC DEF
"ABC\D"EF
"ABC DEF
müssen in einer funktionsfähigen CSV-Datei wie folgt aussehen: "Hello, ""World"""
"ABC DEF"
"""ABC\D""EF"
"""ABC DEF"
Wenn Sie das standardmäßige Escapezeichen (umgekehrter Schrägstrich) verwenden, wird die folgende CSV-Datei von Azure Data Explorer nicht unterstützt: "Hello, "World""
"ABC DEF"
""ABC\D"EF"
""ABC DEF"
Geschachtelte JSON-Objekte
Beachten Sie beim Kopieren einer JSON-Datei in Azure Data Explorer Folgendes:
- Arrays werden nicht unterstützt.
- Wenn Ihre JSON-Struktur Objektdatentypen enthält, werden die untergeordneten Elemente des Objekts von Azure Data Factory vereinfacht. Anschließend wird versucht, jedes untergeordnete Element einer anderen Spalte in der Azure Data Explorer-Tabelle zuzuordnen. Wenn das gesamte Objektelement einer einzelnen Spalte in Azure Data Explorer zugeordnet werden soll, gehen Sie wie folgt vor:
- Erfassen Sie die gesamte JSON-Zeile in einer einzelnen dynamischen Spalte in Azure Data Explorer.
- Bearbeiten Sie die Pipelinedefinition manuell mit dem JSON-Editor von Azure Data Factory. Unter Mappings
- Entfernen Sie die verschiedenen Zuordnungen, die für jedes untergeordnete Element erstellt wurden, und fügen Sie eine einzelne Zuordnung hinzu, durch die der Objekttyp der Tabellenspalte zugeordnet wird.
- Fügen Sie nach der schließenden eckigen Klammer ein Komma hinzu, auf das nachstehende Zeichenfolge folgt:
"mapComplexValuesToString": true
.
Angeben von zusätzlichen Eigenschaften beim Kopieren in Azure Data Explorer
Sie können zusätzliche Erfassungseigenschaften hinzufügen, indem Sie sie in der Pipeline angeben.
So fügen Sie Eigenschaften hinzu
Wählen Sie in Azure Data Factory das Stiftwerkzeug Verfassen aus.
Wählen Sie unter Pipeline die Pipeline aus, in der Sie zusätzliche Erfassungseigenschaften hinzufügen möchten.
Wählen Sie in der Canvas Aktivitäten die Aktivität Daten kopieren aus.
Wählen Sie in den Aktivitätsdetails Senke aus, und erweitern Sie dann Weitere Eigenschaften.
Wählen Sie Neu und dann je nach Bedarf entweder Knoten hinzufügen oder Array hinzufügen aus, und geben Sie den Namen und den Wert der Erfassungseigenschaft an. Wiederholen Sie diesen Schritt, um weitere Eigenschaften hinzuzufügen.
Speichern Sie anschließend Ihre Pipeline, und veröffentlichen Sie sie.
Nächster Schritt
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für