Freigeben über


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 Service (SSIS) koordinieren und erstellen.

Wichtig

Azure Data Lake Analytics wurde am 29. Februar 2024 eingestellt. Erfahren Sie mehr mit dieser Ankündigung.

Bei Datenanalysen kann Ihre Organisation Azure Synapse Analytics oder Microsoft Fabricverwenden.

Voraussetzungen

Azure Feature Pack für Integration Services bietet die Azure Data Lake Analytics-Aufgabe und den Azure Data Lake Analytics-Verbindungs-Manager , der eine Verbindung mit dem Azure Data Lake Analytics-Dienst herstellt. Um diese Aufgabe zu verwenden, stellen Sie sicher, dass Sie Folgendes installieren:

Azure Data Lake Analytics-Aufgabe

Mit der Azure Data Lake Analytics-Aufgabe können Benutzer U-SQL-Aufträge an das Azure Data Lake Analytics-Konto übermitteln.

Erfahren Sie, wie Sie die Azure Data Lake Analytics-Aufgabe konfigurieren.

Azure Data Lake Analytics-Aufgabe in SSIS

Sie können das U-SQL-Skript an verschiedenen Stellen abrufen, indem Sie integrierte SSIS-Funktionen und -Aufgaben verwenden. In den folgenden Szenarien wird gezeigt, wie Sie die U-SQL-Skripts für unterschiedliche Benutzerfälle konfigurieren können.

Szenario 1: Verwenden von Inlineskriptanruf-Tvfs und gespeicherten Procs

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

Für eine einfache Wartung und Codeverwaltung können Sie nur kurze U-SQL-Skripts als Inlineskripts einfügen, z. B. können Sie vorhandene Tabellenwertfunktionen und gespeicherte Prozeduren in Ihren U-SQL-Datenbanken aufrufen.

Inline-U-SQL-Skript in SSIS-Aufgabe bearbeiten

Verwandter Artikel: Übergeben von Parametern an gespeicherte Prozeduren

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

Sie können U-SQL-Dateien auch im Azure Data Lake Store verwenden, indem Sie azure Data Lake Store-Dateisystemaufgabe in Azure Feature Pack verwenden. Mit diesem Ansatz können Sie die in der Cloud gespeicherten Skripts verwenden.

Führen Sie die folgenden Schritte aus, um die Verbindung zwischen Azure Data Lake Store-Dateisystemaufgabe und Azure Data Lake Analytics-Aufgabe einzurichten.

Festlegen des Aufgabensteuerungsflusses

Fügen Sie in der Entwurfsansicht des SSIS-Pakets eine Azure Data Lake Store-Dateisystemaufgabe, einen Foreach-Schleifencontainer und eine Azure Data Lake Analytics-Aufgabe im Foreach-Schleifencontainer hinzu. Die Azure Data Lake Store-Dateisystemaufgabe hilft beim Herunterladen von U-SQL-Dateien in Ihrem ADLS-Konto in einen temporären Ordner. Der Foreach-Schleifencontainer und die Azure Data Lake Analytics-Aufgabe helfen, jede U-SQL-Datei unter dem temporären Ordner als U-SQL-Auftrag an das Azure Data Lake Analytics-Konto zu übermitteln.

Diagramm mit einer Azure Data Lake Store-Dateisystemaufgabe, die einem Foreach Loop-Container hinzugefügt wird.

Konfigurieren der Azure Data Lake Store-Dateisystemaufgabe

  1. Festlegen des Vorgangs auf CopyFromADLS.
  2. Richten Sie AzureDataLakeConnection ein, erfahren Sie mehr über Azure Data Lake Store Connection Manager.
  3. Legen Sie AzureDataLakeDirectory fest. Zeigen Sie auf den Ordner, in dem Ihre U-SQL-Skripts gespeichert sind. Verwenden Sie einen Pfad, der relativ zum Stammordner des Azure Data Lake Store-Kontos ist.
  4. Legen Sie das Ziel auf einen Ordner fest, der die heruntergeladenen U-SQL-Skripts zwischenspeichert. Dieser Ordnerpfad wird im Foreach-Schleifencontainer für die U-SQL-Auftragsübermittlung verwendet.

Konfigurieren der Azure Data Lake Store-Dateisystemaufgabe

Erfahren Sie mehr über die Azure Data Lake Store-Dateisystemaufgabe.

Konfigurieren des Foreach-Schleifencontainers

  1. Legen Sie auf der SammlungsseiteEnumerator auf Foreach File Enumerator fest.

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

  3. Legen Sie Dateien innerhalb der Enumerator-Konfiguration so *.usql fest, dass der Schleifencontainer nur die Dateien erfasst, die mit .usql enden.

    Screenshot, das den Foreach-Schleifen-Editor mit der ausgewählten Option „Sammlung“ und den hervorgehobenen Abschnitten für Enumerator und Enumerator-Konfiguration zeigt.

  4. Fügen Sie auf der Seite "Variablenzuordnungen " eine benutzerdefinierte Variable hinzu, um den Dateinamen für jede U-SQL-Datei abzurufen. Legen Sie den Index auf 0 fest, um den Dateinamen abzurufen. Definieren Sie in diesem Beispiel eine Variable namens User::FileName. Diese Variable wird verwendet, um die U-SQL-Skriptdateiverbindung dynamisch abzurufen und den U-SQL-Auftragsnamen in der Azure Data Lake Analytics-Aufgabe festzulegen.

    Konfigurieren des Foreach-Loop-Containers zum Abrufen des Dateinamens

Konfigurieren der Azure Data Lake Analytics-Aufgabe

  1. Legen Sie SourceType auf FileConnection fest.

  2. Legen Sie FileConnection auf die Dateiverbindung fest, die auf die von Foreach Loop Container zurückgegebenen Dateiobjekte verweist.

    So erstellen Sie diese Dateiverbindung:

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

    2. Legen Sie den Verwendungstyp auf "Vorhandene Datei" fest, und legen Sie die Datei auf den Dateipfad einer vorhandenen Datei fest.

      Screenshot des Dateiverbindungs-Manager-Editors mit der Option

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

    4. Erweitern Sie im EigenschaftenfensterAusdrücke, und legen Sie ConnectionString auf die Variable fest, die im Foreach-Loop-Container definiert ist, zum Beispiel @[User::FileName].

      Foreach-Schleifencontainer konfigurieren

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

  4. Legen Sie andere Auftragskonfigurationen fest. Weitere Informationen.

  5. Verwenden Sie Ausdrücke, um den U-SQL-Auftragsnamen dynamisch festzulegen.

    1. Fügen Sie auf der Seite "Ausdrücke" ein neues Ausdrucksschlüssel-Wert-Paar für JobName hinzu.

    2. Legen Sie den Wert für JobName auf die Variable fest, die in Foreach Loop Container definiert ist, @[User::FileName]z. B. .

      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 azure Blob Download Task in Azure Feature Pack verwenden. Mit diesem Ansatz können Sie die Skripts in der Cloud verwenden.

Die Schritte ähneln Szenario 2: Verwenden von U-SQL-Dateien im Azure Data Lake Store. Ändern Sie die Azure Data Lake Store-Dateisystemaufgabe in Azure Blob Download Task. Erfahren Sie mehr über die Azure Blob Download-Aufgabe.

Der Steuerungsfluss sieht wie folgt aus:

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

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

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

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

  2. Wählen Sie "Dateityp " und dann "Hinzufügen..." aus.

  3. Legen Sie den Verwendungstyp auf "Vorhandene Datei" fest, und legen Sie die Datei auf der Datei auf dem lokalen Computer fest.

    Hinzufügen einer Dateiverbindung zur lokalen Datei

  4. Azure Data Lake Analytics-Aufgabe hinzufügen und:

    1. Legen Sie SourceType auf FileConnection fest.
    2. Legen Sie FileConnection auf die erstellte Dateiverbindung fest.
  5. Schließen Sie andere Konfigurationen für die Azure Data Lake Analytics-Aufgabe ab.

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

In einigen Fällen müssen Sie möglicherweise die U-SQL-Anweisungen dynamisch generieren. Sie können SSIS Variable mit SSIS Expression und anderen SSIS-Aufgaben wie Script Task verwenden, um die U-SQL-Anweisung dynamisch zu generieren.

  1. Öffnen Sie das Toolfenster "Variablen" über das Menü "SSIS-Variablen>" auf oberster Ebene.

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

  3. Azure Data Lake Analytics-Aufgabe hinzufügen und:

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

Szenario 6 - Pass-Parameter an das U-SQL-Skript

In einigen Fällen sollten Sie den U-SQL-Variablenwert im U-SQL-Skript dynamisch festlegen. Die Parameterzuordnungsfunktion in der Azure Data Lake Analytics-Aufgabe hilft bei diesem Szenario. In der Regel gibt es zwei typische Benutzerfälle:

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

Erfahren Sie mehr darüber, wie Sie Parameter für das U-SQL-Skript festlegen.

Nächste Schritte