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