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:
Kopieraktivitä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 unter 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 dazu, Daten mithilfe von Befehlen wie .ingest
oder .set-or-append
) aus dem Azure-Daten-Explorer in externe Datenspeicher mithilfe von Befehlen wie z. B. ) aufzunehmen oder Daten aus dem Azure-Daten-Explorer in externe Datenspeicher zu kopieren..export
Eine ausführliche exemplarische Vorgehensweise der Befehlsaktivität finden Sie unter Verwenden der 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 günstigere Option sein als die Copy-Aktivität. 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.
Zuordnungsdatenflüsse
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 Datenkopienanforderungen.
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 im Azure-Daten-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.
Kopieraktivitä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 > Sink Data Store) |
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 > Sink Data Store**) |
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 enthalten ADF-Abfragen Folgendes:
|
Erweitert oder deaktiviert standardmäßig die Abfragegrenzwerte:
|
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.
Kopieraktivität | Erfassung aus der Abfrage.set-or-append / .set-or-replace / .set / .replace |
Aufnahme 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 eine Tabelle aufnehmen (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 (using the sql_request() plugin), Azure Cosmos DB (using the cosmosdb_sql_request plugin) and any other data store that provides HTTP or Python APIs. | 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 | Hinweise |
---|---|---|---|
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 zu tabellarischen Kopie ist, importiert das ADF-Schema automatisch, auch wenn der Benutzer das Schema nicht explizit importiert hat. | |
Azure Data Explorer als Sink | 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 von ADF verwendeten DIUs. Das Erhöhen der DIUs hilft nur, wenn Ihre Quelle ein dateibasierter Speicher mit mehreren Dateien ist. 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 | Die hohe Anzahl von Azure Data Explorer-Knoten erhöht die Aufnahmeverarbeitungszeit. 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 Massenkopie aus Datenbank in azure Data Explorer-Vorlage. 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 Eigenschaft "Daten" größer als die Data Read-Eigenschaft sein, da das Lesen von Daten gemäß der binären Dateigröße berechnet wird, während die geschriebenen Daten gemäß der Größe des Arbeitsspeichers berechnet werden, nachdem 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 Des Clusters laden die Blobs herunter und nehmen die Daten in die Sinktabelle ein. 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 folgenden Textwerte: Hello, "World"
ABC DEF
"ABC\D"EF
"ABC DEF
Sollte in einer ordnungsgemäßen CSV-Datei wie folgt angezeigt werden: "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 im Azure-Daten-Explorer zugeordnet werden soll:
- 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
Kopieren Sie Daten mithilfe von Azure Data Factory in Azure Data Explorer.