Управление библиотекой Spark

Область применения: SQL Server 2019 (15.x)

Важно!

Поддержка надстройки "Кластеры больших данных" Microsoft SQL Server 2019 будет прекращена. Мы прекратим поддержку Кластеров больших данных SQL Server 2019 28 февраля 2025 г. Все существующие пользователи SQL Server 2019 с Software Assurance будут полностью поддерживаться на платформе, а программное обеспечение будет продолжать поддерживаться через SQL Server накопительных обновлений до этого времени. Дополнительные сведения см. в записи блога объявлений и в статье о параметрах больших данных на платформе Microsoft SQL Server.

В этой статье приводятся инструкции по импорту и установке пакетов для сеанса Spark с помощью конфигураций сеансов и записных книжек.

Встроенные средства

Базовые пакеты Scala Spark (Scala 2.12) и Hadoop.

PySpark (Python 3.8). Pandas, Sklearn, NumPy и другие пакеты для обработки данных и машинного обучения.

Пакеты MRO 3.5.2. Sparklyr и SparkR для рабочих нагрузок R Spark.

Установка пакетов из репозитория Maven в кластер Spark во время выполнения

Пакеты Maven можно установить в кластер Spark с помощью конфигурации ячеек записной книжки в начале сеанса Spark. Перед запуском сеанса Spark в Azure Data Studio выполните следующий код.

%%configure -f \
{"conf": {"spark.jars.packages": "com.microsoft.azure:azure-eventhubs-spark_2.12:2.3.1"}}

Определение нескольких пакетов и дополнительные конфигурации Spark

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

%%configure -f \
{
    "conf": {
        "spark.jars.packages": "com.microsoft.azure:synapseml_2.12:0.9.4,com.microsoft.azure:azure-eventhubs-spark_2.12:2.3.1",
        "spark.jars.repositories":"https://mmlspark.azureedge.net/maven"
    }
}

Установка пакетов Python в PySpark во время выполнения

Управление пакетами на уровне сеансов и заданий гарантирует согласованность и изоляцию библиотеки. Конфигурация — это конфигурация стандартной библиотеки Spark, которую можно применить к сеансам Livy. azdata spark поддерживает эти конфигурации. Примеры ниже представлены в виде ячеек конфигурации записных книжек Azure Data Studio, которые должны быть выполнены после подключения к кластеру с ядром PySpark.

Если конфигурация "spark.pyspark.virtualenv.enabled" : "true" не задана, сеанс будет использовать установленные библиотеки и библиотеки кластера Python по умолчанию.

Конфигурация сеанса и задания с использованием requirements.txt

Укажите путь к файлу requirements.txt в HDFS со ссылками на устанавливаемые пакеты.

%%configure -f \
{
    "conf": {
        "spark.pyspark.virtualenv.enabled" : "true",
        "spark.pyspark.virtualenv.python_version": "3.8",
        "spark.pyspark.virtualenv.requirements" : "hdfs://user/project-A/requirements.txt"
    }
}

Конфигурация сеанса и задания с разными версиями Python

Создайте виртуальную среду conda без файла требований и динамически добавьте пакеты во время сеанса Spark.

%%configure -f \
{
    "conf": {
        "spark.pyspark.virtualenv.enabled" : "true",
        "spark.pyspark.virtualenv.python_version": "3.7"
    }
}

Установка библиотеки

Выполните sc.install_packages, чтобы динамически установить библиотеки в сеансе. Библиотеки будут установлены на узле драйвера и на всех узлах исполнителя.

sc.install_packages("numpy==1.11.0")
import numpy as np

Также можно установить несколько библиотек в одной команде, используя массив.

sc.install_packages(["numpy==1.11.0", "xgboost"])
import numpy as np
import xgboost as xgb

Импорт JAR-файла из HDFS для использования во время выполнения

Импортируйте JAR-файл во время выполнения через конфигурацию ячеек записной книжки Azure Data Studio.

%%configure -f
{"conf": {"spark.jars": "/jar/mycodeJar.jar"}}

Дальнейшие действия

Дополнительные сведения о кластере больших данных SQL Server и связанных сценариях см. в статье Кластеры больших данных SQL Server.