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 叢集
Maven 套件可以使用 Spark 工作階段開始時的筆記本資料格設定安裝到 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 版本的工作階段/作業設定
在沒有 requirements 檔案的情況下建立 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 巨量資料叢集。