Share via


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 巨量資料叢集