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


Создание JAR-файла Scala с помощью пакетов ресурсов Databricks

В этой статье описывается, как создавать, развертывать и запускать JAR-файл Scala с помощью пакетов ресурсов Databricks. Дополнительные сведения о пакетах см. в разделе "Что такое пакеты ресурсов Databricks?".

Например, конфигурацию, которая создает JAR-файл Java и загружает его в каталог Unity, см. Пример пакета, который загружает JAR-файл в каталог Unity.

Требования

Шаг 1. Создание пакета

Сначала создайте пакет с помощью команды инициализации пакета и шаблона пакета проекта Scala. Шаблон пакета Scala JAR создает пакет, который создает JAR-файл, отправляет его в указанный том и определяет задание с задачей Spark с JAR-файлом, работающим в указанном кластере. Scala в проекте шаблона определяет UDF, который применяет простое преобразование к примеру DataFrame и выводит результаты. Источник шаблона находится в репозитории примеров пакетов.

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

    databricks bundle init --template-dir contrib/templates/scala-job https://github.com/databricks/bundle-examples
    
  2. Введите my_scala_project как имя для проекта. Это определяет имя корневого каталога для этого пакета. Этот корневой каталог создается в текущем рабочем каталоге.

  3. Для указания пути назначения томов укажите путь к томам каталога Unity в Databricks, в котором должен быть создан каталог пакета, содержащий JAR-файл и другие артефакты, например /Volumes/my-catalog/my-schema/bundle-volumes.

    Замечание

    В зависимости от разрешений рабочей области администратору может потребоваться добавить указанный путь к JAR файлам томов в список разрешенных. См. библиотеки допустимых списков и скрипты инициализации для вычислений в стандартном режиме доступа (ранее называвшегося режимом общего доступа).

Шаг 2. Изучение пакета

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

  • databricks.yml: этот файл указывает программное имя пакета, содержит ссылку на определение задания и задает параметры целевой рабочей области.
  • resources/my_scala_project.job.yml: этот файл задает JAR-задачу задания и параметры кластера.
  • src/: этот каталог содержит исходные файлы для проекта Scala.
  • build.sbt: этот файл содержит важные параметры сборки и зависимой библиотеки.
  • README.md: этот файл содержит следующие действия по началу работы, а также инструкции и параметры локальной сборки.

Шаг 3. Проверка файла конфигурации пакета проекта

Затем проверьте, допустима ли конфигурация пакета с помощью команды проверки пакета.

  1. В корневом каталоге выполните команду Databricks CLI bundle validate. Кроме прочего, это проверяет наличие тома, указанного в файле конфигурации, в рабочем пространстве.

    databricks bundle validate
    
  2. Если возвращается сводка конфигурации пакета, проверка выполнена успешно. Если возвращаются какие-либо ошибки, исправьте ошибки, повторите этот шаг.

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

Шаг 4. Развертывание локального проекта в удаленной рабочей области

Теперь разверните пакет в удаленной рабочей области Azure Databricks с помощью команды развертывания пакета. Этот шаг создает JAR-файл и отправляет его в указанный том.

  1. Выполните команду Databricks CLI bundle deploy:

    databricks bundle deploy -t dev
    
  2. Чтобы проверить, был ли развернут локально созданный JAR-файл:

    1. На боковой панели рабочей области Azure Databricks щелкните обозреватель каталогов.
    2. Перейдите к целевому пути тома, указанному при инициализации пакета. JAR-файл должен находиться в следующей папке внутри этого пути: /my_scala_project/dev/<user-name>/.internal/
  3. Чтобы проверить, было ли создано задание, выполните следующие действия.

    1. На боковой панели рабочей области Azure Databricks щелкните "Задания и конвейеры".
    2. При необходимости выберите фильтры "Задания " и " Принадлежащие мне ".
    3. Щелкните [dev <your-username>] my_scala_project.
    4. Перейдите на вкладку "Задачи ".

    Должна быть одна задача: main_task.

Если вы вносите изменения в пакет после этого шага, повторите шаги проверки и развертывания.

Шаг 5. Запуск развернутого проекта

Наконец, запустите задание Azure Databricks с помощью команды выполнения пакета.

  1. В корневом каталоге выполните команду Databricks CLI bundle run, указав имя задания в файле my_scala_project.job.yml определения:

    databricks bundle run -t dev my_scala_project
    
  2. Скопируйте значение, которое отображается в терминале и вставьте это значение Run URL в веб-браузер, чтобы открыть рабочую область Azure Databricks.

  3. В рабочей области Azure Databricks после успешного завершения задачи и появления зеленой строки заголовка щелкните задачу main_task, чтобы просмотреть результаты.