Spark 库管理
适用范围:SQL Server 2019 (15.x)
重要
Microsoft SQL Server 2019 大数据群集附加产品将停用。 对 SQL Server 2019 大数据群集的支持将于 2025 年 2 月 28 日结束。 具有软件保障的 SQL Server 2019 的所有现有用户都将在平台上获得完全支持,在此之前,该软件将继续通过 SQL Server 累积更新进行维护。 有关详细信息,请参阅公告博客文章和 Microsoft SQL Server 平台上的大数据选项。
本文提供了有关如何通过会话和笔记本配置为 Spark 会话导入和安装包的指导。
内置工具
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"
}
}
库安装
执行 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"}}
后续步骤
有关 SQL Server 大数据群集和相关方案的详细信息,请参阅 SQL Server 大数据群集。