Поделиться через


Планирование заданий U-SQL с помощью служб SQL Server Integration Services (SSIS)

В этом документе вы узнаете, как оркестрировать и создавать задания U-SQL с помощью службы интеграции SQL Server (SSIS).

Это важно

Azure Data Lake Analytics вышел из эксплуатации 29 февраля 2024 года. Дополнительные сведения см. в этом объявлении.

Для аналитики данных ваша организация может использовать Azure Synapse Analytics или Microsoft Fabric.

Предпосылки

Пакет дополнительных компонентов Azure для служб Integration Services предоставляет задачу Azure Data Lake Analytics и диспетчер соединений Azure Data Lake Analytics , который помогает подключиться к службе Azure Data Lake Analytics. Чтобы использовать эту функцию, убедитесь, что вы установили:

Задача Azure Data Lake Analytics

Задача Azure Data Lake Analytics позволяет пользователям отправлять задания U-SQL в учетную запись Azure Data Lake Analytics.

Узнайте, как настроить задачу Azure Data Lake Analytics.

Задача Azure Data Lake Analytics в SSIS

Скрипт U-SQL можно получить из разных мест с помощью встроенных функций и задач служб SSIS, приведенных ниже, показано, как настроить скрипты U-SQL для различных пользовательских вариантов.

Сценарий 1. Использование встроенного скрипта вызова tvfs и сохраненных procs

В редакторе задач Azure Data Lake Analytics настройте SourceType в качестве DirectInput и поместите инструкции U-SQL в USQLStatement.

Для простого обслуживания и управления кодом можно использовать только короткий скрипт U-SQL в качестве встроенных скриптов, например, можно вызывать существующие функции с табличным значением и хранимые процедуры в базах данных U-SQL.

Изменение встроенного скрипта U-SQL в задаче SSIS

Связанная статья. Передача параметра хранимым процедурам

Сценарий 2.Использование U-SQL-файлов в Azure Data Lake Store

Вы также можете использовать файлы U-SQL в Azure Data Lake Store с помощью задачи файловой системы Azure Data Lake Store в пакете дополнительных компонентов Azure. Этот подход позволяет использовать скрипты, хранящиеся в облаке.

Выполните следующие действия, чтобы настроить подключение между задачей файловой системы Azure Data Lake Store и задачей Azure Data Lake Analytics.

Управление потоком выполнения задачи

В представлении конструктора пакета SSIS добавьте задачу файловой системы Azure Data Lake Store, контейнер цикла foreach и задачу Azure Data Lake Analytics в контейнере цикла foreach. Задача файловой системы Azure Data Lake Store помогает скачать файлы U-SQL в учетной записи ADLS в временную папку. Контейнер цикла Foreach и задача Azure Data Lake Analytics помогают отправлять каждый файл U-SQL из временной папки на учетную запись Azure Data Lake Analytics в качестве задания U-SQL.

Схема, на которой показана задача файловой системы Azure Data Lake Store, добавляемая в контейнер цикла foreach.

Настройка задачи файловой системы Azure Data Lake Store

  1. Задайте для операцииcopyFromADLS.
  2. Настройте AzureDataLakeConnection, узнайте больше о диспетчере соединений Azure Data Lake Store.
  3. Задайте AzureDataLakeDirectory. Наведите указатель на папку, где хранятся скрипты U-SQL. Используйте путь, который является относительным по отношению к корневой папке хранилища Azure Data Lake Store.
  4. Установите папку назначения для кэширования загруженных скриптов U-SQL. Этот путь к папке будет использоваться в контейнере циклов foreach для отправки заданий U-SQL.

Настройка задачи файловой системы Azure Data Lake Store

Дополнительные сведения о задаче файловой системы Azure Data Lake Store.

Настройка контейнера цикла foreach

  1. На странице Collection задайте перечислителю значение Foreach File Enumerator.

  2. Настройте Папку в группе Конфигурации перечислителя как временную папку, которая включает загруженные скрипты U-SQL.

  3. Задайте для параметра "Файлы в разделе *.usql"Перечислитель", чтобы контейнер цикла перехватывал только файлы, заканчивающиеся.usql.

    Снимок экрана, показывающий редактор цикла ForEach с выбранной

  4. На странице сопоставления переменных добавьте определяемую пользователем переменную, чтобы получить имя файла для каждого файла U-SQL. Задайте для индекса значение 0, чтобы получить имя файла. В этом примере определите переменную с именем User::FileName. Эта переменная будет использоваться для динамического получения подключения к файлу скрипта U-SQL и установки имени задачи U-SQL в задании Azure Data Lake Analytics.

    Настройка контейнера цикла foreach для получения имени файла

Настройка задачи Azure Data Lake Analytics

  1. Задайте для SourceType значение FileConnection.

  2. Установите FileConnection для подключения к файлу, которое указывает на объекты файлов, возвращаемые из контейнера цикла foreach.

    Чтобы создать это подключение к файлу, выполните указанные ниже действия.

    1. Выберите <новое подключение...> в параметре FileConnection.

    2. Задайте тип использованиясуществующему файлу и задайте для файла путь к файлу любого существующего файла.

      Снимок экрана: редактор диспетчера подключений к файлам с выбранным параметром

    3. В представлении "Диспетчеры подключений" щелкните правой кнопкой мыши созданное подключение к файлу и выберите "Свойства".

    4. В окне "Свойства" разверните выражения и задайте параметр ConnectionString переменной, определенной в контейнере цикла foreach, например @[User::FileName].

      Настройка контейнера цикла foreach

  3. Задайте AzureDataLakeAnalyticsConnection учетной записи Azure Data Lake Analytics, в которую вы хотите отправить задания. Дополнительные сведения о диспетчере соединений Azure Data Lake Analytics.

  4. Задайте другие конфигурации заданий. Подробнее здесь.

  5. Используйте выражения для динамического задания U-SQL:

    1. На странице "Выражения" добавьте новую пару "ключ-значение выражения" для JobName.

    2. Задайте для параметра JobName переменную, определенную в контейнере цикла foreach, например @[User::FileName].

      Настройка выражения SSIS для имени задания U-SQL

Сценарий 3.Использование U-SQL-файлов в хранилище BLOB-объектов Azure

Файлы U-SQL можно использовать в хранилище BLOB-объектов Azure с помощью задачи загрузки BLOB-объектов Azure в пакете дополнительных компонентов Azure. Этот подход позволяет использовать скрипты в облаке.

Действия аналогичны сценариям 2. Использование файлов U-SQL в Azure Data Lake Store. Измените задачу файловой системы Azure Data Lake Store на задачу скачивания BLOB-объектов Azure. Дополнительные сведения о задаче скачивания BLOB-объектов Azure.

Поток управления выглядит следующим образом:

Использование файлов U-SQL в Azure Data Lake Store

Сценарий 4.Использование U-SQL-файлов на локальном компьютере

Помимо использования файлов U-SQL, хранящихся в облаке, можно также использовать файлы на локальном компьютере или файлах, развернутых с помощью пакетов SSIS.

  1. Щелкните правой кнопкой мыши диспетчеры соединений в проекте служб SSIS и выберите новый диспетчер соединений.

  2. Выберите тип файла и нажмите кнопку "Добавить...".

  3. Задайте тип использованиясуществующему файлу и задайте для файла файл на локальном компьютере.

    Добавление подключения к локальному файлу

  4. Добавление задачи Azure Data Lake Analytics и:

    1. Задайте для SourceType значение FileConnection.
    2. Задайте параметру FileConnection созданное подключение к файлу.
  5. Завершите другие конфигурации задачи Azure Data Lake Analytics.

Сценарий 5. Использование инструкции U-SQL в переменной SSIS

В некоторых случаях может потребоваться динамически создавать инструкции U-SQL. Вы можете использовать переменную служб SSIS с выражением SSIS и другими задачами SSIS, такими как задача скрипта, для динамического создания инструкции U-SQL.

  1. Откройте окно "Переменные" через пункт верхнего уровня меню SSIS > Variables.

  2. Добавьте переменную служб SSIS и задайте значение напрямую или используйте выражение для создания значения.

  3. Добавьте задачу Azure Data Lake Analytics и:

    1. Установите SourceType в Variable.
    2. Задайте для sourceVariable переменную служб SSIS, созданную сейчас.
  4. Завершите другие конфигурации задачи Azure Data Lake Analytics.

Сценарий 6-Pass параметров в скрипт U-SQL

В некоторых случаях может потребоваться динамически задать значение переменной U-SQL в скрипте U-SQL. Функция сопоставления параметров в задаче Azure Data Lake Analytics помогает с этим сценарием. Обычно существует два типичных варианта пользователя:

  • Задайте переменные пути к входному и выходному файлу динамически на основе текущей даты и времени.
  • Задайте параметр для хранимых процедур.

Дополнительные сведения о настройке параметров для скрипта U-SQL.

Дальнейшие шаги