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.

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.

Azure Data Lake Analytics Task 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.

Edit inline U-SQL script in 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 that shows an Azure Data Lake Store File System Task being added to a Foreach Loop Container.

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.

Configure Azure Data Lake Store File System Task

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 that shows the Foreach Loop Editor with

  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.

    Configure Foreach Loop Container to get file name

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 that shows the File Connection Manager Editor with

    3. Klicken Sie in der Ansicht Verbindungs-Manager mit der rechten Maustaste auf die zuvor 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].

      Configure Foreach Loop Container

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

      Configure SSIS Expression for U-SQL job name

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

Die Ablaufsteuerung ist ähnlich wie unten.

Use U-SQL files 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 den Typ Datei aus, und klicken Sie auf Hinzufügen.

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

    Add file connection to the local file

  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 zuvor 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 ggf. 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 zuvor 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 kann es sinnvoll sein, den Wert der U-SQL-Variablen im U-SQL-Skript dynamisch festzulegen. Das Feature Parameterzuordnung im Task „Azure Data Lake Analytics“ 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