Создание и запуск заданий Azure Databricks

В этой статье описано, как создать и запустить задания Azure Databricks с помощью пользовательского интерфейса заданий.

Дополнительные сведения о параметрах конфигурации заданий и изменении существующих заданий см. в статье "Настройка параметров для заданий Azure Databricks".

Чтобы узнать, как управлять выполнением заданий и отслеживать их, см. статью "Просмотр и управление выполнением заданий".

Чтобы создать первый рабочий процесс с заданием Azure Databricks, ознакомьтесь с кратким руководством.

Внимание

  • Рабочая область ограничена 1000 одновременных запусков задач. Ответ 429 Too Many Requests возвращается при запросе на выполнение, которое не может быть запущено немедленно.
  • Число заданий, создаваемых рабочей областью в течение часа, ограничено 10000 (включая "Отправка процессов выполнений"). Это ограничение также влияет на задания, создаваемые рабочими процессами записных книжек и REST API.

Создание и запуск заданий с помощью ИНТЕРФЕЙСА командной строки, API или записных книжек

  • Дополнительные сведения об использовании интерфейса командной строки Databricks для создания и запуска заданий см. в статье "Что такое интерфейс командной строки Databricks?".
  • Дополнительные сведения об использовании API заданий для создания и запуска заданий см. в справочнике по REST API.
  • Сведения о том, как выполнять и планировать задания непосредственно в записной книжке Databricks, см. в статье "Создание запланированных заданий записной книжки и управление ими".

Создание задания

  1. Выполните одно из следующих действий:

    • Щелкните Значок заданийрабочие процессы на боковой панели и щелкните .Кнопка
    • На боковой панели нажмите кнопку "Создать" и выберите Значок "Задание".

    Вкладка "Задачи " отображается с диалогом создания задачи вместе с боковой панелью сведений о задании, содержащей параметры уровня задания.

    Экран создания задания

  2. Замените новое задание... именем задания.

  3. В поле Имя задачи введите название задачи.

  4. В раскрывающемся меню "Тип" выберите тип задачи для выполнения. См. параметры типа задачи.

  5. Настройте кластер, в котором выполняется задача. По умолчанию бессерверные вычисления выбираются, если рабочая область находится в рабочей области с поддержкой каталога Unity, и вы выбрали задачу, поддерживаемую бессерверными вычислениями для рабочих процессов. Ознакомьтесь с заданием Azure Databricks с бессерверными вычислениями для рабочих процессов. Если бессерверные вычисления недоступны или вы хотите использовать другой тип вычислений, можно выбрать новый кластер заданий или существующий кластер всех целей в раскрывающемся меню вычислений .

    • Новый кластер заданий: щелкните "Изменить" в раскрывающемся меню кластера и завершите настройку кластера.
    • Существующий кластер всех назначений: выберите существующий кластер в раскрывающемся меню кластера . Чтобы открыть кластер на новой странице, щелкните Внешний канал значок справа от имени кластера и описания.

    Дополнительные сведения о выборе и настройке кластеров для выполнения задач см. в статье "Использование вычислений Azure Databricks с заданиями".

  6. Чтобы добавить зависимые библиотеки, нажмите кнопку +Добавить рядом с зависимыми библиотеками. См. статью Настройка зависимых библиотек.

  7. Задаче можно передать параметры. Сведения о требованиях к форматированию и передаче параметров см. в статье "Передача параметров в задачу задания Azure Databricks".

  8. Чтобы при необходимости получать уведомления о запуске задачи, успешном выполнении или сбое, нажмите кнопку + Добавить рядом с сообщениями электронной почты. Уведомления об ошибках отправляются при сбое начальной задачи и любых последующих повторных попыток. Чтобы отфильтровать уведомления и уменьшить количество отправленных сообщений электронной почты, проверка отключить уведомления для пропущенных запусков, отключить уведомления для отмененных запусков или отключить уведомления до последнего повтора.

  9. Чтобы при необходимости настроить политику повторных попыток для задачи, нажмите кнопку + Добавить рядом с повторными попытками. См. статью "Настройка политики повторных попыток" для задачи.

  10. Чтобы при необходимости настроить ожидаемую длительность или время ожидания задачи, нажмите кнопку +Добавить рядом с пороговым значением длительности. См. статью "Настройка ожидаемого времени завершения" или времени ожидания для задачи.

  11. Нажмите кнопку Создать.

После создания первой задачи можно настроить такие параметры уровня задания, как уведомления, триггеры заданий и разрешения. См. статью "Изменить задание".

Чтобы добавить другую задачу, щелкните Кнопка в представлении DAG. Параметр общего кластера предоставляется, если выбраны бессерверные вычисления или настроен новый кластер заданий для предыдущей задачи. Кластер для каждой задачи можно также настроить при создании или изменении задачи. Дополнительные сведения о выборе и настройке кластеров для выполнения задач см. в статье "Использование вычислений Azure Databricks с заданиями".

При необходимости можно настроить параметры уровня задания, такие как уведомления, триггеры заданий и разрешения. См. статью "Изменить задание". Можно также настроить параметры уровня задания, которые совместно используются задачами задания. См. раздел "Добавление параметров" для всех задач задания.

Параметры типа задачи

Ниже приведены типы задач, которые можно добавить в задание Azure Databricks и доступные варианты для различных типов задач:

  • Записная книжка. В раскрывающемся меню "Источник " выберите "Рабочая область ", чтобы использовать записную книжку, расположенную в папке рабочей области Azure Databricks или поставщике Git для записной книжки, расположенной в удаленном репозитории Git.

    Рабочая область. С помощью браузера файлов найдите записную книжку, щелкните ее имя и выберите Подтвердить.

    Поставщик Git: нажмите кнопку "Изменить" или "Добавить ссылку на git" и введите сведения о репозитории Git. См . статью "Использование записной книжки" из удаленного репозитория Git.

    Примечание.

    Суммарный итоговый размер ячеек записной книжки (суммарный итоговый размер всех ячеек записной книжки) не должен превышать 20 МБ. Итоговый размер каждой отдельной ячейки не должен превышать 8 МБ. Если суммарный итоговый размер ячеек превышает 20 МБ или итоговый размер отдельной ячейки превышает 8 МБ, выполнение отменяется и помечается как завершенное с ошибкой.

    Если вам требуется помощь в поиске ячеек, которые превысили или близки к превышению этого ограничения, запустите записную книжку в универсальном кластере и примените этот метод автосохранения записной книжки.

  • JAR: укажите класс Main. Используйте полное имя класса, содержащего метод Main, например org.apache.spark.examples.SparkPi. Затем нажмите кнопку Добавить в разделе Зависимые библиотеки, чтобы добавить библиотеки, необходимые для выполнения задачи. Одна из этих библиотек должна содержать класс Main.

    Дополнительные сведения о задачах JAR см. в статье Об использовании JAR-файла в задании Azure Databricks.

  • Spark Submit: в текстовом поле Параметры укажите класс Main, путь к JAR-файлу библиотеки, а также все аргументы в виде массива строк в формате JSON. В следующем примере выполняется настройка задачи spark-submit для выполнения DFSReadWriteTest из примеров Apache Spark:

    ["--class","org.apache.spark.examples.DFSReadWriteTest","dbfs:/FileStore/libraries/spark_examples_2_12_3_1_1.jar","/discover/databricks-datasets/README.md","/FileStore/examples/output/"]
    

    Внимание

    Для задач spark-submit существует ряд ограничений:

    • задачи spark-submit можно вызывать только в новых кластерах;
    • spark-submit не поддерживает автоматическое масштабирование кластеров. Дополнительные сведения об автомасштабировании см. в разделе Автомасштабирование кластера;
    • Служба Spark-submit не поддерживает ссылку databricks Utilities (dbutils). Чтобы использовать служебные программы Databricks выбирайте задачи JAR.
    • Если вы используете кластер с поддержкой каталога Unity, spark-submit поддерживается только в том случае, если кластер использует назначенный режим доступа. Режим общего доступа не поддерживается.
    • Для заданий потоковой передачи Spark ни в коем случае нельзя устанавливать максимальное число параллельных выполнений больше 1. Потоковая передача задач должна выполняться с помощью выражения cron "* * * * * ?" (каждую минуту). Так как задача потоковой передачи выполняется непрерывно, она всегда должна быть конечной задачей в задании.
  • Скрипт Python: в раскрывающемся меню "Источник" выберите расположение скрипта Python, рабочуюобласть для скрипта в локальной рабочей области, DBFS для скрипта, расположенного в DBFS, или поставщика Git для скрипта, расположенного в репозитории Git. В текстовое поле Путь введите путь к скрипту Python:

    Рабочая область. В диалоговом окне Выбор файла Python перейдите к скрипту Python и щелкните Подтвердить.

    DBFS. Введите URI скрипта Python в DBFS или в облачном хранилище, например dbfs:/FileStore/myscript.py.

    Поставщик Git. Щелкните Изменить и укажите сведения о репозитории Git. См. статью "Использование кода Python" из удаленного репозитория Git.

  • Конвейер разностных динамических таблиц: в раскрывающемся меню конвейера выберите существующий конвейер разностных динамических таблиц.

    Внимание

    С задачей Конвейер можно использовать только активированные конвейеры. Непрерывные конвейеры не поддерживаются в качестве задачи задания. Дополнительные сведения о триггерах и непрерывных конвейерах см. в статье "Непрерывный и активированный конвейер".

  • Python Wheel: в текстовом поле Имя пакета введите пакет для импорта, например myWheel-1.0-py2.py3-none-any.whl. В текстовом поле точки входа введите функцию для вызова при запуске файла колеса Python. Нажмите кнопку Добавить в разделе Зависимые библиотеки, чтобы добавить библиотеки, необходимые для выполнения задачи.

  • SQL: в раскрывающемся меню задачи SQL выберите "Запрос", "Устаревшая панель мониторинга", "Оповещение" или "Файл".

    Примечание.

    Запрос. В раскрывающемся меню SQL-запроса выберите запрос, который будет выполняться при выполнении задачи.

    Устаревшая панель мониторинга: в раскрывающемся меню панели мониторинга SQL выберите панель мониторинга, которая будет обновлена при выполнении задачи.

    Оповещение. В раскрывающемся меню оповещений SQL выберите оповещение , чтобы активировать для оценки.

    Файл. Чтобы использовать SQL-файл, расположенный в папке рабочей области Azure Databricks, в раскрывающемся меню "Источник " выберите "Рабочая область", используйте браузер файлов для поиска SQL-файла, щелкните имя файла и нажмите кнопку "Подтвердить". Чтобы использовать SQL-файл, расположенный в удаленном репозитории Git, выберите поставщика Git, нажмите кнопку "Изменить " или "Добавить ссылку на git" и введите сведения для репозитория Git. Ознакомьтесь с запросами SQL из удаленного репозитория Git.

    В раскрывающемся меню хранилища SQL выберите бессерверный или профессиональный хранилище SQL для выполнения задачи.

  • dbt. Дополнительные сведения о настройке задачи dbt см. в разделе "Использование преобразований dbt" в задании Azure Databricks.

  • Запустите задание: в раскрывающемся меню задания выберите задание, выполняемое задачей. Чтобы выполнить задание, начните вводить имя задания в меню "Задание ".

    Внимание

    При использовании задачи или заданий Run Job , вложенных более трех Run Job задач, не следует создавать задания с циклическими зависимостями. Циклические зависимости — это Run Job задачи, которые напрямую или косвенно активируют друг друга. Например, задание A активирует задание B и задание B активирует задание А. Databricks не поддерживает задания с циклическими зависимостями или вложенными более трех Run Job задач и может не разрешать выполнение этих заданий в будущих выпусках.

  • If/else: Чтобы узнать, как использовать If/else condition задачу, см . статью "Добавление логики ветвления в задание" с задачей "Если/еще".

Передача параметров задаче задания Azure Databricks

Параметры можно передать многим типам задач задания. У каждого типа задачи свои требования к форматированию и передаче параметров.

Чтобы получить доступ к сведениям о текущей задаче, например имени задачи, или передать контекст текущего выполнения между задачами задания, например время начала задания или идентификатор текущего выполнения задания, используйте ссылки на динамические значения. Чтобы просмотреть список доступных ссылок на динамические значения, нажмите кнопку "Обзор динамических значений".

Если параметры задания настроены для задания, к которой принадлежит задача, эти параметры отображаются при добавлении параметров задачи. Если параметры задания и задачи совместно используют ключ, параметр задания имеет приоритет. Предупреждение отображается в пользовательском интерфейсе при попытке добавить параметр задачи с тем же ключом, что и параметр задания. Для передачи параметров задания задачам, которые не настроены с параметрами ключа-значением, такими как JAR или Spark Submit задачи, форматируйте аргументы в качестве {{job.parameters.[name]}}[name] замены на теkey, которые идентифицируют этот параметр.

  • Записная книжка: нажмите кнопку Добавить и укажите ключ и значение для каждого параметра, который необходимо передать задаче. При выполнении задачи вручную можно переопределить или добавить дополнительные параметры с помощью команды Выполнить задание с другими параметрами. Параметры устанавливают значение мини-приложения записной книжки, заданное ключом параметра.

  • JAR: используйте для указания параметров массив строк в формате JSON. Такие строки передаются в качестве аргументов методу Main класса Main. См. раздел "Настройка параметров JAR-задания".

  • Spark Submit: параметры указываются в форме массива строк в формате JSON. По соглашению Spark-Submit Apache Spark параметры после пути JAR передаются методу Main класса Main.

  • Python Wheel: в раскрывающемся меню "Параметры " выберите позиционные аргументы , чтобы ввести параметры в виде массива строк в формате JSON, или выберите аргументы > "Ключевые слова", чтобы ввести ключ и значение каждого параметра. Как позиционные, так и именованные аргументы передаются задаче Python Wheel в качестве аргументов командной строки. Пример чтения аргументов в скрипте Python, упакованом в файл колесика Python, см. в статье "Использование файла колес Python в задании Azure Databricks".

  • Запустите задание: введите ключ и значение каждого параметра задания для передачи в задание.

  • Скрипт Python. Используйте для указания параметров массив строк в формате JSON. Эти строки передаются в качестве аргументов и могут быть прочитаны как позиционные аргументы или проанализированы с помощью модуля argparse в Python. Пример чтения позиционных аргументов в скрипте Python см . в шаге 2. Создание скрипта для получения данных GitHub.

  • SQL: если задача выполняет параметризованный запрос или параметризованную панель мониторинга, введите значения параметров в указанных текстовых полях.

Копирование пути к задаче

Некоторые типы задач, например задачи записной книжки, позволяют скопировать путь к исходному коду задачи:

  1. Перейдите на вкладку "Задачи ".
  2. Выберите задачу, содержащую путь, который нужно скопировать.
  3. Щелкните Значок копирования заданий рядом с путем задачи, чтобы скопировать путь к буферу обмена.

Создание задания из существующего задания

Чтобы быстро создать новое задание, можно клонировать уже существующее. При клонировании задания создается его идентичная копия, но без идентификатора задания. На странице задания нажмите Дополнительно... рядом с именем задания и выберите пункт Клонировать в раскрывающемся меню.

Создание задачи из существующей задачи

Чтобы быстро создать новую задачу, можно клонировать уже существующую.

  1. На странице задания откройте вкладку Задачи.
  2. Выберите задачу для клонирования.
  3. Щелкните Вертикальное многоточие заданий и выберите задачу "Клонировать".

Удаление задания

Чтобы удалить задание, на странице этого задания нажмите Дополнительно... рядом с именем задания и выберите пункт Удалить в раскрывающемся меню.

Удаление задачи

Чтобы удалить задачу, выполните следующие действия:

  1. Перейдите на вкладку "Задачи ".
  2. Выберите задачу, которую нужно удалить.
  3. Щелкните и выберите Вертикальное многоточие заданий команду "Удалить задачу".

Выполнение задания

  1. Щелкните Значок заданийрабочие процессы на боковой панели.
  2. Выберите задание и откройте вкладку Выполнения. Задание можно выполнить сразу или запланировать на определенное время.

Если одна или несколько задач в задании с несколькими задачами неудачны, можно повторно запустить подмножество неудачных задач. См. статью "Повторное выполнение неудачных и пропущенных задач".

Выполнение задания сразу

Чтобы запустить задание немедленно, щелкните Кнопка .

Совет

Чтобы выполнить тестовый запуск задания с помощью задачи записной книжки, нажмите кнопку Выполнить сейчас. Если в записную книжку необходимо внести изменения, нажмите кнопку Выполнить сейчас еще раз после того, как внесете изменения. Новая версия записной книжки будет запущена автоматически.

Выполнение задания с другими параметрами

Команду Выполнить сейчас с другими параметрами можно использовать для повторного выполнения задания с другими параметрами или другими значениями для существующих параметров.

Примечание.

Невозможно переопределить параметры задания, если задание, которое выполнялось перед введением параметров задания, переопределяет параметры задачи с тем же ключом.

  1. Щелкните Синий вниз caret рядом с кнопкой "Запустить сейчас" и выберите "Запустить сейчас с разными параметрами" или в таблице "Активные запуски" нажмите кнопку "Запустить сейчас с разными параметрами". Введите новые параметры в зависимости от типа задачи. См . раздел "Передача параметров в задачу задания Azure Databricks".
  2. Щелкните Выполнить.

Запуск задания в качестве субъекта-службы

Примечание.

Если задание выполняет SQL-запросы с помощью задачи SQL, удостоверение, используемое для выполнения запросов, определяется параметрами общего доступа каждого запроса, даже если задание выполняется в качестве субъекта-службы. Если для запроса настроено Run as owner, запрос всегда выполняется с помощью удостоверения владельца, а не удостоверения субъекта-службы. Если запрос настроен Run as viewer, запрос выполняется с помощью удостоверения субъекта-службы. Дополнительные сведения о параметрах общего доступа к запросам см. в разделе "Настройка разрешений запроса".

По умолчанию задания выполняются как удостоверение владельца задания. Это означает, что задание предполагает разрешения владельца задания. Задание может получить доступ только к данным и объектам Azure Databricks, к которым владелец задания имеет разрешения на доступ. Вы можете изменить удостоверение, которое задание выполняется как субъект-служба. Затем задание предполагает разрешения этого субъекта-службы вместо владельца.

Чтобы изменить параметр запуска от имени , необходимо иметь разрешение CAN MANAGE или IS OWNER для задания. Вы можете задать параметр запуска от имени самостоятельно или любой субъект-службу в рабочей области, в которой у вас есть роль пользователя субъекта-службы. Дополнительные сведения см. в разделе "Роли" для управления субъектами-службами.

Примечание.

RestrictWorkspaceAdmins Если для рабочей области задан ALLOW ALLпараметр, администраторы рабочей области также могут изменить параметр запуска от имени любого пользователя в своей рабочей области. Чтобы ограничить администраторов рабочей области только изменение параметра "Запуск от имени " для себя или субъектов-служб, в которых они имеют роль пользователя субъекта-службы, см. раздел "Ограничить администраторов рабочей области".

Чтобы изменить поле запуска от имени, сделайте следующее:

  1. На боковой панели щелкните Значок заданий"Рабочие процессы".
  2. В столбце Имя нажмите на имя задания.
  3. На боковой панели сведений о задании щелкните значок карандаша рядом с полем "Запуск от имени".
  4. Найдите и выберите созданный субъект-службу.
  5. Нажмите кнопку Сохранить.

Кроме того, вы можете перечислить субъекты-службы, на которых есть роль пользователя с помощью API субъектов-служб рабочей области. Дополнительные сведения см. в разделе "Список субъектов-служб", которые можно использовать.

Запуск задания по расписанию

Вы можете использовать расписание для автоматического запуска задания Azure Databricks в указанные времена и периоды. См. раздел "Добавление расписания заданий".

Выполнение непрерывного задания

Вы можете убедиться, что всегда существует активный запуск задания. См . статью "Выполнение непрерывного задания".

Выполнение задания при поступлении новых файлов

Чтобы активировать выполнение задания при поступлении новых файлов во внешнее расположение или том каталога Unity, используйте триггер прибытия файла.

Просмотр и запуск задания, созданного с помощью пакета ресурсов Databricks

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

Однако если необходимо внести немедленные изменения в задание, можно отключить задание от конфигурации пакета, чтобы включить редактирование параметров задания в пользовательском интерфейсе. Чтобы отключить задание, нажмите кнопку "Отключиться от источника". В диалоговом окне "Отключение от источника" нажмите кнопку "Отключить", чтобы подтвердить.

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

Что делать, если мое задание не может выполняться из-за ограничений параллелизма?

Примечание.

Очередь включена по умолчанию при создании заданий в пользовательском интерфейсе.

Чтобы предотвратить пропуск выполнения задания из-за ограничений параллелизма, можно включить очередь для задания. Если очередь включена, если ресурсы недоступны для выполнения задания, выполнение выполняется в очередь до 48 часов. Когда емкость доступна, выполнение задания будет отложено и выполняется. Очереди запуска отображаются в списке запусков для задания, а также в списке последних запусков заданий.

Выполнение выполняется в очередь при достижении одного из следующих ограничений:

  • Максимальное число параллельных активных запусков в рабочей области.
  • Максимальная параллельная Run Job задача выполняется в рабочей области.
  • Максимальное число параллельных запусков задания.

Очередь — это свойство уровня задания, которое выполняется только для этого задания.

Чтобы включить или отключить очередь, нажмите кнопку "Дополнительные параметры" и нажмитекнопку "Включить очередь" на боковой панели сведений о задании.