次の方法で共有


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 では、これらの構成がサポートされています。 次の例は、PySpark カーネルを使用してクラスターにアタッチした後で実行する必要がある Azure Data Studio Notebooks の構成セルとして提供されています。

"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 を実行します。 ライブラリは、ドライバーと、すべての Executor のノードにインストールされます。

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 ビッグ データ クラスター」を参照してください。