Freigeben über


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 .ingestoder .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:

  1. Erstellen Sie den Zuordnungsdatenfluss.
  2. Exportieren Sie die Daten in Azure-Blob.
  3. 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
  • Verteilt (Standard), gleichzeitiger Export von Daten aus mehreren Knoten
  • Schneller und COGS-effizient (Cost Of Goods Sold, Umsatzkosten)
Servereinschränkungen Abfragelimits können erweitert/deaktiviert werden. Standardmäßig enthalten ADF-Abfragen Folgendes:
  • Größenbeschränkung von 500.000 Datensätzen oder 64 MB.
  • Zeitlimit von 10 Minuten.
  • noTruncation auf FALSE festgelegt.
Erweitert oder deaktiviert standardmäßig die Abfragegrenzwerte:
  • Größenbeschränkungen sind deaktiviert.
  • Das Serverzeitlimit wird auf 1 Stunde verlängert.
  • MaxMemoryConsumptionPerIterator und MaxMemoryConsumptionPerQueryPerNode werden auf das Maximum (5 GB, Hälfte des gesamten physischen Arbeitsspeichers) erweitert.

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.
  • Die Befehle wurden nicht für den Import großer Datenmengen konzipiert.
  • Funktioniert erwartungsgemäß und günstiger. Verwenden Sie jedoch für Produktionsszenarien und bei großen Datenverkehrsraten sowie umfangreichen Daten die Kopieraktivität.
Servereinschränkungen
  • Kein Größenlimit.
  • Maximale Zeitüberschreitungsgrenze: Eine Stunde pro aufgenommenen BLOB.
  • Es gibt lediglich eine Größenbeschränkung für den Abfrageteil, die durch Angeben von noTruncation=true ausgesetzt werden kann.
  • Maximale Zeitüberschreitungsgrenze: Eine Stunde.
  • Kein Größenlimit.
  • Maximale Zeitüberschreitungsgrenze: Eine Stunde.

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.
  • TestConnection überprüft die Verbindung zum Cluster und nicht die Verbindung zur Datenbank. Die Überprüfung kann auch dann erfolgreich sein, wenn die Datenbank nicht vorhanden ist.
  • Berechtigungen als Tabellenadministrator sind nicht ausreichend.
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.
  • Alle obligatorischen Vorgänge arbeiten mit Tabelleningestor.
  • Einige optionale Vorgänge können fehlschlagen.
  • Erstellen einer CSV-Zuordnung für die Tabelle
  • Löschen der Zuordnung
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:
  • Quellen- und Senkendatenspeicher.
  • ADF Integration Runtime.
  • Ihr Azure Data Explorer-Cluster
Stellen Sie sicher, dass sich zumindest die Integration Runtime in derselben Region wie Ihr Azure Data Explorer-Cluster befindet.
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
  • Für Azure-interne Kopiervorgänge können ADF-VMs und Computer-SKUs nicht geändert werden.
  • Legen Sie für lokale Azure-Kopien fest, dass der virtuelle Computer, der Ihre selbst gehostete IR hostet, stark genug ist.

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

  1. Wählen Sie in Azure Data Factory das Stiftwerkzeug Verfassen aus.

  2. Wählen Sie unter Pipeline die Pipeline aus, in der Sie zusätzliche Erfassungseigenschaften hinzufügen möchten.

  3. Wählen Sie in der Canvas Aktivitäten die Aktivität Daten kopieren aus.

  4. Wählen Sie in den Aktivitätsdetails Senke aus, und erweitern Sie dann Weitere Eigenschaften.

  5. 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.

  6. Speichern Sie anschließend Ihre Pipeline, und veröffentlichen Sie sie.

Nächster Schritt