Spark 库管理

适用于:SQL Server 2019 (15.x)

Important

Microsoft SQL Server 2019 大数据群集已停用。 对 SQL Server 2019 大数据群集的支持已于 2025 年 2 月 28 日结束。 有关详细信息,请参阅Microsoft SQL Server 平台上的公告博客文章和大数据选项。

本文提供有关如何通过会话和笔记本配置导入和安装 Spark 会话的包的指导。

Built-in tools

Scala Spark (Scala 2.12) 和 Hadoop 基本包。

PySpark (Python 3.8)。 Pandas、Sklearn、Numpy 和其他数据处理和机器学习包。

MRO 3.5.2 包。 适用于 R Spark 工作负载的 Sparklyr 和 SparkR。

在运行时将 Maven 存储库中的包安装到 Spark 群集

可以在 Spark 会话开始时使用笔记本单元配置将 Maven 包安装到 Spark 群集上。 在 Azure Data Studio 中启动 Spark 会话之前,请运行以下代码:

%%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"
    }
}

在运行时在 PySpark 安装 Python 包

会话和作业级包管理保证库一致性和隔离。 配置是可在 Livy 会话上应用的 Spark 标准库配置。 azdata spark 支持这些配置。 以下示例显示为 Azure Data Studio Notebooks 配置在附加到具有 PySpark 内核的群集后需要运行的单元。

如果未设置 “spark.pyspark.virtualenv.enabled”:“true” 配置,会话将使用群集默认 python 和已安装的库。

具有 requirements.txt 的会话/作业配置

指定要用作要安装的包的引用的 HDFS 中 requirements.txt 文件的路径。

%%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 virtualenv,并在 Spark 会话期间动态添加包。

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

Library installation

执行 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

从 HDFS 导入.jar,以便在运行时使用

通过 Azure Data Studio 笔记本单元配置在运行时导入 jar。

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

Next steps

有关 SQL Server 大数据群集和相关方案的详细信息,请参阅 SQL Server 大数据群集