Преобразование данных путем выполнения действия Jar в Azure Databricks

ПРИМЕНИМО К: Фабрика данных Azure Azure Synapse Analytics

Совет

Для аналогичной активности в Data Factory в Microsoft Fabric см. активность Azure Databricks.

Действие Azure Databricks jar в pipeline запускает Spark jar-файл в вашем кластере Azure Databricks. Данная статья основана на материалах статьи о действиях преобразования данных , в которой приведен общий обзор преобразования данных и список поддерживаемых действий преобразования. Azure Databricks — это управляемая платформа для запуска Apache Spark.

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

Добавьте активность Jar для Azure Databricks в pipeline через пользовательский интерфейс

Чтобы использовать действие Jar для Azure Databricks в конвейере, выполните следующие действия.

  1. Выполните поиск активности Jar на панели действий конвейера и перетащите активность Jar на холст конвейера.

  2. Выберите новое действие Jar на холсте, если оно еще не выбрано.

  3. Перейдите на вкладку Azure Databricks, чтобы выбрать или создать связанную службу Azure Databricks, которая будет выполнять действие Jar.

    Отображает пользовательский интерфейс для действия Jar.

  4. Перейдите на вкладку Settings и укажите имя класса, выполняемое на Azure Databricks, необязательные параметры, передаваемые jar-файлу, и библиотеки, которые должны быть установлены в кластере для выполнения задания.

    Отображает пользовательский интерфейс для вкладки

Определение действия Jar в Databricks

Пример JSON-определения активности Jar в Databricks:

{
    "name": "SparkJarActivity",
    "type": "DatabricksSparkJar",
    "linkedServiceName": {
        "referenceName": "AzureDatabricks",
        "type": "LinkedServiceReference"
    },
    "typeProperties": {
        "mainClassName": "org.apache.spark.examples.SparkPi",
        "parameters": [ "10" ],
        "libraries": [
            {
                "jar": "dbfs:/docs/sparkpi.jar"
            }
        ]
    }
}

Свойства активности Jar в Databricks

В следующей таблице приведено описание свойств, используемых в определении JSON.

Свойство Описание: Обязательное поле
имя Имя действия в конвейере выполнения. Да
описание Описание того, что делает активность. Нет
тип Тип действия Jar в Databricks — DatabricksSparkJar. Да
linkedServiceName Имя связанной службы Databricks, в которой выполняется действие Jar. Чтобы узнать больше об этой связанной службе, см. статью Связанные службы вычислений. Да
mainClassName Полное имя класса, содержащего метод main, который будет выполнен. Этот класс должен содержаться в файле JAR, предоставляемом в виде библиотеки. Файл JAR может содержать несколько классов. Каждый из классов может содержать метод main. Да
параметры Параметры, которые будут переданы в метод main. Это свойство представляет собой массив строк. Нет
библиотеки Список библиотек, которые должны быть установлены на кластере, на котором будет выполнено задание. Это может быть массив <string, object> Да (по крайней мере один метод, содержащий mainClassName)

Примечание.

Известная ошибка. При использовании одного и того же интерактивного кластера для выполнения параллельных действий JAR-файла в Databricks (без перезапуска кластера) существует известная проблема в Databricks, где в параметрах первого действия будут использоваться следующие действия. Это приводит к передаче неверных параметров в последующие задачи. Для устранения этой проблемы используйте вместо этого кластер заданий.

Поддерживаемые библиотеки для операций Databricks

В приведенном выше определении действия Databricks вы указали следующие типы библиотек: jar, egg, maven, pypi, cran.

{
    "libraries": [
        {
            "jar": "dbfs:/mnt/libraries/library.jar"
        },
        {
            "egg": "dbfs:/mnt/libraries/library.egg"
        },
        {
            "maven": {
                "coordinates": "org.jsoup:jsoup:1.7.2",
                "exclusions": [ "slf4j:slf4j" ]
            }
        },
        {
            "pypi": {
                "package": "simplejson",
                "repo": "http://my-pypi-mirror.com"
            }
        },
        {
            "cran": {
                "package": "ada",
                "repo": "https://cran.us.r-project.org"
            }
        }
    ]
}

Дополнительные сведения см. в документации Databricks по типам библиотек.

Отправка библиотеки в Databricks

Вы можете использовать пользовательский интерфейс рабочей области:

  1. Использование пользовательского интерфейса рабочей области Databricks

  2. Чтобы получить путь к dbfs библиотеки, добавленной с помощью пользовательского интерфейса, можно использовать интерфейс командной строки Databricks.

    Обычно библиотеки Jar, добавленные с помощью пользовательского интерфейса, хранятся в каталоге dbfs:/FileStore/jars. Вы можете перечислить все через интерфейс командной строки (CLI): databricks fs ls dbfs:/FileStore/job-jars.

Или можно использовать интерфейс командной строки Databricks:

  1. Затем выполните Копирование библиотеки с помощью интерфейса командной строки Databricks

  2. Используйте интерфейс командной строки Databricks (действия по установке)

    Например, чтобы скопировать JAR-файл в dbfs: dbfs cp SparkPi-assembly-0.1.jar dbfs:/docs/sparkpi.jar

На одиннадцатиминутное введение и демонстрацию этой функции просмотрите видео.