Planen von U-SQL-Aufträgen mit SQL Server Integration Services (SSIS)

In diesem Dokument erfahren Sie, wie Sie U-SQL-Aufträge mithilfe von SQL Server Integration Services (SSIS) orchestrieren und erstellen.

Wichtig

Azure Data Lake Analytics am 29. Februar 2024 eingestellt. In dieser Ankündigung erhalten Sie weitere Informationen.

Für Datenanalysen kann Ihr organization Azure Synapse Analytics oder Microsoft Fabric verwenden.

Voraussetzungen

Das Azure Feature Pack für Integration Services bietet den Task „Azure Data Lake Analytics“ und Azure Data Lake Analytics-Verbindungs-Manager, mit deren Hilfe Sie eine Verbindung mit dem Azure Data Lake Analytics-Dienst herstellen können. Um diesen Task verwenden zu können, müssen Sie die folgenden Aufgaben ausführen:

Azure Data Lake Analytics-Task

Der Task „Azure Data Lake Analytics“ ermöglicht Benutzern das Übermitteln von U-SQL-Aufträgen an das Azure Data Lake Analytics-Konto.

Erfahren Sie, wie Sie den Task „Azure Data Lake Analytics“ konfigurieren.

Der Task „Azure Data Lake Analytics“ in SSIS

Sie können das U-SQL-Skript aus verschiedenen Quellen mithilfe der in SSIS integrierten Funktionen und Aufgaben abrufen. Die folgenden Szenarien zeigen, wie Sie die U-SQL-Skripts für verschiedene Anwendungsfälle konfigurieren können.

Szenario 1: Verwenden des Inlineskripts zum Aufrufen von Tabellenwertfunktionen und gespeicherten Prozeduren

Konfigurieren Sie im Editor für den Azure Data Lake Analytics-Task SourceType als DirectInput, und fügen Sie in USQLStatement die U-SQL-Anweisungen ein.

Zur Vereinfachung der Wartung und Codeverwaltung sollten Sie nur kurze U-SQL-Skripts als Inline-Skripts verwenden. Sie können z.B. vorhandene Tabellenwertfunktionen und gespeicherte Prozeduren in Ihren U-SQL-Datenbanken aufrufen.

Bearbeiten eines Inline-U-SQL-Skripts im SSIS-Task

Verwandter Artikel: Übergeben von Parametern an gespeicherte Prozeduren

Szenario 2: Verwenden von U-SQL-Dateien in Azure Data Lake Store

Sie können auch U-SQL-Dateien in Azure Data Lake Store verwenden, indem Sie den Task „Azure Data Lake Store File System“ im Azure Feature Pack verwenden. Dieser Ansatz ermöglicht Ihnen die Verwendung der Skripts, die in der Cloud gespeichert sind.

Führen Sie die folgenden Schritte aus, um die Verbindung zwischen dem Task „Azure Data Lake Store File System“ und dem Task „Azure Data Lake Analytics“ herzustellen.

Festlegen der Ablaufsteuerung für Tasks

Fügen Sie in der SSIS-Paketentwurfsansicht den Task „Azure Data Lake Store File System“ , einen Foreach-Schleifencontainer und den Task „Azure Data Lake Analytics“ im Foreach-Schleifencontainer hinzu. Mithilfe des Tasks „Azure Data Lake Store File System“ können Sie U-SQL-Dateien in Ihrem ADLS-Konto in einen temporären Ordner herunterladen. Der Foreach-Schleifencontainer und der Task „Azure Data Lake Analytics“ dienen zum Übermitteln aller U-SQL-Dateien im temporären Ordner in das Azure Data Lake Analytics-Konto als U-SQL-Auftrag.

Diagram: Task „Azure Data Lake Store File System“, der einem Foreach-Schleifencontainer hinzugefügt wird

Konfigurieren des Tasks „Azure Data Lake Store File System“

  1. Legen Sie Vorgang auf CopyFromADLS fest.
  2. Richten Sie AzureDataLakeConnection ein. Erfahren Sie mehr zum Azure Data Lake Store-Verbindungs-Manager.
  3. Legen Sie AzureDataLakeDirectory fest. Zeigen Sie auf den Ordner, in dem Ihre U-SQL-Skripts gespeichert sind. Verwenden Sie einen relativen Pfad zum Stammordner des Azure Data Lake Store-Kontos.
  4. Legen Sie Ziel auf einen Ordner fest, in dem die heruntergeladenen U-SQL-Skripts zwischengespeichert werden. Dieser Pfad wird im Foreach-Schleifencontainer zum Übermitteln von U-SQL-Aufträgen verwendet.

Konfigurieren des Tasks „Azure Data Lake Store File System“

Erfahren Sie mehr zum Task „Azure Data Lake Store File System“.

Konfigurieren des Foreach-Schleifencontainers

  1. Legen Sie auf der Seite Sammlung den Eintrag Enumerator auf Foreach-Datei-Enumerator.

  2. Legen Sie Ordner unter der Gruppe Enumeratorkonfiguration auf den temporären Ordner fest, der die heruntergeladenen U-SQL-Skripts enthält.

  3. Legen Sie Dateien unter Enumeratorkonfiguration auf *.usql fest, damit der Schleifencontainer nur die Dateien mit der Endung .usql abfängt.

    Screenshot: Foreach-Schleifen-Editor mit ausgewählter Option „Sammlung“ und den hervorgehobenen Abschnitten „Enumerator“ und „Enumeratorkonfiguration“

  4. Fügen Sie auf der Seite Variablenzuordnungen eine benutzerdefinierte Variable hinzu, um den Dateinamen für jede U-SQL-Datei abzurufen. Legen Sie Index auf 0 fest, um den Dateinamen abzurufen. Bei diesem Beispiel definieren Sie die Variable User::FileName. Diese Variable wird verwendet, um eine Verbindung mit einer U-SQL-Skriptdatei dynamisch herzustellen und den Namen eines U-SQL-Auftrags im Task „Azure Data Lake Analytics“ festzulegen.

    Konfigurieren des Foreach-Schleifencontainers zum Abrufen des Dateinamens

Konfigurieren des Tasks „Azure Data Lake Analytics“

  1. Legen Sie SourceType auf FileConnection fest.

  2. Legen Sie FileConnection auf die Dateiverbindung fest, die auf die vom Foreach-Schleifencontainer zurückgegebenen Dateiobjekte zeigt.

    So erstellen Sie diese Dateiverbindung

    1. Wählen Sie in der Einstellung „FileConnection“ die Option <Neue Verbindung...> aus.

    2. Legen Sie Verwendungstyp auf Vorhandene Datei und Datei auf den Pfad einer vorhandenen Datei fest.

      Screenshot: Dateiverbindungs-Manager-Editor mit ausgewählter Option „Vorhandene Datei“ unter „Verwendungstyp“

    3. Klicken Sie in der Ansicht Verbindungs-Manager mit der rechten Maustaste auf die erstellte Dateiverbindung, und wählen Sie Eigenschaften aus.

    4. Erweitern Sie im Fenster Eigenschaften den Eintrag Ausdrücke, und legen Sie ConnectionString auf die im Foreach-Schleifencontainer definierte Variable fest, z.B. @[User::FileName].

      Konfigurieren des Foreach-Schleifencontainers

  3. Legen Sie AzureDataLakeAnalyticsConnection auf das Azure Data Lake Analytics-Konto fest, an das Sie Aufträge übermitteln möchten. Erfahren Sie mehr über den Azure Data Lake Analytics-Verbindungs-Manager.

  4. Legen Sie andere Auftragskonfigurationen fest. Weitere Informationen.

  5. Verwenden Sie Ausdrücke, um den Namen des U-SQL-Auftrags dynamisch festzulegen:

    1. Fügen Sie auf der Seite Ausdrücke für JobName einen neuen aus einem Schlüssel-Wert-Paar bestehenden Ausdruck hinzu.

    2. Legen Sie den Wert für „JobName“ auf die im Foreach-Schleifencontainer definierte Variable fest, z.B. @[User::FileName].

      Konfigurieren des SSIS-Ausdrucks für den Namen des U-SQL-Auftrags

Szenario 3: Verwenden von U-SQL-Dateien in Azure Blob Storage

Sie können U-SQL-Dateien in Azure Blob Storage verwenden, indem Sie den Task „Azure Blob Download“ im Azure Feature Pack nutzen. Dieser Ansatz ermöglicht Ihnen die Verwendung der Skripts in der Cloud.

Die Schritte ähneln Szenario 2: Verwenden von U-SQL-Dateien in Azure Data Lake Store. Ändern Sie den Task „Azure Data Lake Store File System“ in den Task „Azure Blob Download“. Erfahren Sie mehr über den Task „Azure Blob Download“.

Der Ablauf der Steuerung sieht wie folgt aus:

Verwenden von U-SQL-Dateien in Azure Data Lake Store

Szenario 4: Verwenden von U-SQL-Dateien auf dem lokalen Computer

Sie können nicht nur U-SQL-Dateien verwenden, die in der Cloud gespeichert sind, sondern auch Dateien auf Ihrem lokalen Computer oder Dateien, die mit Ihren SSIS-Paketen bereitgestellt werden.

  1. Klicken Sie im SSIS-Projekt mit der rechten Maustaste auf Verbindungs-Manager, und wählen Sie Neuer Verbindungs-Manager aus.

  2. Wählen Sie Dateityp aus, und wählen Sie Hinzufügen... aus.

  3. Legen Sie Verwendungstyp auf Vorhandene Datei und Datei auf die Datei auf dem lokalen Computer fest.

    Hinzufügen der Dateiverbindung zur lokalen Datei

  4. Fügen Sie den Task Azure Data Lake Analytics hinzu und:

    1. Legen Sie SourceType auf FileConnection fest.
    2. Legen Sie FileConnection auf die erstellte Dateiverbindung fest.
  5. Schließen Sie andere Konfigurationsaufgaben für den Task „Azure Data Lake Analytics“ ab.

Szenario 5: Verwenden einer U-SQL-Anweisung in einer SSIS-Variablen

In einigen Fällen müssen Sie die U-SQL-Anweisungen möglicherweise dynamisch generieren. Sie können SSIS-Variable mit SSIS-Ausdruck und anderen SSIS-Tasks wie „Skripttask“ verwenden, um die U-SQL-Anweisung dynamisch zu generieren.

  1. Öffnen Sie im Menü der obersten Ebene über SSIS > Variablen das Fenster des Tools „Variablen“.

  2. Fügen Sie eine SSIS-Variable hinzu. Legen Sie den Wert direkt fest, oder verwenden Sie Ausdruck, um den Wert zu generieren.

  3. Fügen Sie den Task Azure Data Lake Analytics hinzu und:

    1. Legen Sie SourceType auf Variable fest.
    2. Legen Sie SourceVariable auf die jetzt erstellte SSIS-Variable fest.
  4. Schließen Sie andere Konfigurationsaufgaben für den Task „Azure Data Lake Analytics“ ab.

Szenario 6: Übergeben von Parametern an ein U-SQL-Skript

In einigen Fällen können Sie den Wert der U-SQL-Variablen im U-SQL-Skript dynamisch festlegen. Das Feature Parameterzuordnung in Azure Data Lake Analytics Task hilft bei diesem Szenario. Es gibt in der Regel zwei typische Anwendungsfälle:

  • Legen Sie die Eingabe- und Ausgabevariablen für den Dateipfad basierend auf dem aktuellen Datum und der aktuellen Uhrzeit dynamisch fest.
  • Legen Sie den Parameter für gespeicherte Prozeduren fest.

Erfahren Sie mehr zum Festlegen von Parametern für das U-SQL-Skript.

Nächste Schritte