EMR Serverless Spark の Python 環境には、matplotlib、NumPy、pandas がデフォルトで含まれています。その他のサードパーティライブラリを使用するには、必要なライブラリをパッケージ化したランタイム環境を作成する必要があります。
前提条件
ワークスペースを作成済みであること。詳細については、「ワークスペースの管理」をご参照ください。
ランタイム環境の作成
-
ランタイム環境の管理ページに移動します。
-
E-MapReduce コンソールにログインします。
-
左側メニューで、[EMR Serverless] > [Spark] を選択します。
-
[Spark] ページで、対象のワークスペース名をクリックします。
-
EMR Serverless Spark ページで、左側メニューから Environment を選択します。
-
-
Create Environment をクリックします。
-
Create Environment ページで、次のパラメーターを設定します。
パラメーター
必須
説明
Name
はい
ランタイム環境の名前を入力します。
Description
いいえ
ランタイム環境の説明を入力します。
Resource Queue
はい
初期化に使用するリソースキューを選択します。ランタイム環境の作成時、このキューから 1 Core と 4 GB のリソースが消費されます。これらのリソースは初期化後に自動的に解放されます。
Normal Network Connection
いいえ
Alibaba Cloud ソース以外のソースから PyPI ライブラリを追加する必要がある場合は、適切なネットワーク接続を選択します。ランタイム環境は作成時にこの接続を使用してソースアドレスにアクセスします。
ネットワーク接続の作成方法の詳細については、「EMR Serverless Spark と他の VPC 間のネットワーク接続を確立する」をご参照ください。
[Python version]
はい
デフォルトは Python 3.8 です。ビジネス要件に基づき、別のバージョンを選択できます。
選択した Python バージョンが、対象の Python ライブラリと互換性があることを確認してください。バージョン不一致により、パッケージ化の失敗や実行時エラーが発生する可能性があります。
-
ライブラリ情報を追加します。
-
Add Library をクリックします。
-
New Library ダイアログボックスで Type を選択し、関連パラメーターを設定してから、OK をクリックします。
パラメーター
説明
[PyPI]
-
[PyPI Package]:ライブラリ名と (必要に応じて) バージョンを入力します。バージョンを省略すると、システムは最新バージョンをインストールします。デフォルトでは Alibaba Cloud ソース が使用されます。
例:
Plotly、またはPlotly==4.9.0。 -
Package Source:カスタム PyPI ソースの URL を指定します。このフィールドを空のままにすると、デフォルトで Alibaba Cloud ソースが使用されます。カスタムソースを使用する場合は、適切なネットワーク接続を選択していることを確認してください。
Workspace
Workspace ドロップダウンリストから、現在のワークスペースのファイルリソースを選択します。利用可能なリソースがない場合は、Artifacts ページでアップロードします。
サポートされるファイル形式:
.zip、.tar、.whl、.tar.gz、.jar、.txt。説明.txtファイルを選択した場合、システムはそのファイルを要件ファイルとして扱い、ファイルに記載された Python ライブラリとバージョンをインストールします。OSS
OSS フィールドに、Object Storage Service (OSS) に保存されているファイルのパスを入力します。
サポートされるファイル形式:
.zip、.tar、.whl、.tar.gz、.jar、.txt。説明.txtファイルを指定した場合、システムはそのファイルを要件ファイルとして扱い、ファイルに記載された Python ライブラリとバージョンをインストールします。 -
-
-
create をクリックします。
作成後、環境の初期化が始まります。
ランタイム環境の編集
ランタイム環境を編集して、含まれるライブラリを更新できます。
-
Environment ページで対象のランタイム環境を見つけ、[Actions] 列の 編集 をクリックします。
-
Edit Environment ページで、ランタイム環境の設定を更新します。
-
Save Changes をクリックします。
変更を保存すると、新しい設定に基づいて環境が再初期化されます。
説明環境の再初期化後も、変更はアクティブな Notebook セッションに直ちには適用されません。Notebook セッションで最新のランタイム環境を使用するには、Notebook セッションリソースを再起動する必要があります。
ランタイム環境の使用
ランタイム環境が Ready 状態になったら、データ開発または対応するセッションで使用できます。
-
PySpark バッチジョブ:ジョブ開始時に、システムは選択したランタイム環境から必要なライブラリを事前にインストールします。
-
ジョブオーケストレーション:ワークフローに Notebook ノードを追加する際に、対応するランタイム環境を選択できます。
-
Notebook セッション:Notebook セッションの開始時に、システムは選択した環境に基づいてライブラリを事前にインストールします。
-
Livy Gateway:Livy Gateway を使用してジョブを送信する場合、システムは選択した環境に基づいてジョブの実行に必要なリソースを事前に設定します。
-
Spark Submit、Apache Airflow、Livy を使用してジョブを送信する場合は、設定パラメーターとして環境 ID を渡し、ランタイム環境を指定します:
--conf spark.emr.serverless.environmentId=<environment_id>。