次の方法で共有


SynapseSparkStep クラス

これは試験的なクラスであり、いつでも変更される可能性があります。 詳細については、https://aka.ms/azuremlexperimental を参照してください。

Python スクリプトを送信して実行する Azure ML Synapse ステップを作成します。

Synapse Spark プールで Spark ジョブを実行する Azure ML パイプライン ステップを作成します。

コンストラクター

SynapseSparkStep(file, source_directory, compute_target, driver_memory, driver_cores, executor_memory, executor_cores, num_executors, name=None, app_name=None, environment=None, arguments=None, inputs=None, outputs=None, conf=None, py_files=None, jars=None, files=None, allow_reuse=True, version=None)

パラメーター

名前 説明
file
必須
str

source_directoryを基準とした synapse スクリプトの名前。

source_directory
必須
str

手順で使用する Python スクリプト、conda env、およびその他のリソースを含むフォルダー。

compute_target
必須
SynapseCompute または str

使用するコンピューティング先。

driver_memory
必須
str

ドライバー プロセスに使用するメモリの量。

driver_cores
必須
int

ドライバー プロセスに使用するコアの数。

executor_memory
必須
str

Executor プロセスごとに使用するメモリの量。

executor_cores
必須
int

各 Executor に使用するコアの数。

num_executors
必須
int

このセッションで起動する Executor の数。

name
必須
str

ステップの名前。 指定しない場合は、 file が使用されます。

app_name
必須
str

Spark ジョブの送信に使用されるアプリ名。

environment
必須

AML 環境は、後のリリースでサポートされる予定です。

arguments
必須

Synapse スクリプト ファイルのコマンド ライン引数。

inputs
必須

入力の一覧。

outputs
必須

出力の一覧。

conf
必須

Spark 構成プロパティ。

py_files
必須

このセッションで使用する Python ファイル、livy API のパラメーター。

files
必須

このセッションで使用するファイル、livy API のパラメーター。

allow_reuse
必須

同じ設定で再実行するときに、ステップで前の結果を再利用する必要があるかどうかを示します。

version
必須
str

ステップの機能の変更を示すオプションのバージョン タグ。

file
必須
str

source_directoryを基準とした Synapse スクリプトの名前。

source_directory
必須
str

手順で使用する Python スクリプト、conda env、およびその他のリソースを含むフォルダー。

compute_target
必須
SynapseCompute または str

使用するコンピューティング先。

driver_memory
必須
str

ドライバー プロセスに使用するメモリの量。

driver_cores
必須
int

ドライバー プロセスに使用するコアの数。

executor_memory
必須
str

Executor プロセスごとに使用するメモリの量。

executor_cores
必須
int

各 Executor に使用するコアの数。

num_executors
必須
int

このセッションで起動する Executor の数。

name
必須
str

ステップの名前。 指定しない場合は、 file が使用されます。

app_name
必須
str

Apache Spark ジョブの送信に使用されるアプリ名。

environment
必須

この SynapseSparkStep で利用される AML 環境。

arguments
必須

Synapse スクリプト ファイルのコマンド ライン引数。

inputs
必須

入力の一覧。

outputs
必須

出力の一覧。

conf
必須

Spark 構成プロパティ。

py_files
必須

このセッションで使用する Python ファイル、livy API のパラメーター。

jars
必須

このセッションで使用する Jar ファイル、livy API のパラメーター。

files
必須

このセッションで使用するファイル、livy API のパラメーター。

allow_reuse
必須

同じ設定で再実行するときに、ステップで前の結果を再利用する必要があるかどうかを示します。

version
必須
str

ステップの機能の変更を示すオプションのバージョン タグ。

注釈

SynapseSparkStep は、Synapse Spark プールで Python Spark ジョブを実行するための基本的な組み込み手順です。 メイン ファイル名とその他の省略可能なパラメーター (スクリプトの引数、コンピューティング ターゲット、入力、出力など) を受け取ります。

SynapseSparkStep を使用する場合のベスト プラクティスは、スクリプトとステップに関連付けられている依存ファイルに別のフォルダーを使用し、そのフォルダーを source_directory パラメーターで指定することです。 このベスト プラクティスに従う場合、2 つの利点があります。 1 つ目は、ステップに必要なスナップショットのみがスナップショットされるため、ステップ用に作成されるスナップショットのサイズを小さくするのに役立ちます。 次に、スナップショットの再アップロードをトリガーする source_directory に変更がない場合は、前の実行からのステップの出力を再利用できます。


   from azureml.core import Dataset
   from azureml.pipeline.steps import SynapseSparkStep
   from azureml.data import HDFSOutputDatasetConfig

   # get input dataset
   input_ds = Dataset.get_by_name(workspace, "weather_ds").as_named_input("weather_ds")

   # register pipeline output as dataset
   output_ds = HDFSOutputDatasetConfig("synapse_step_output",
                                       destination=(ws.datastores['datastore'],"dir")
                                       ).register_on_complete(name="registered_dataset")

   step_1 = SynapseSparkStep(
       name = "synapse_step",
       file = "pyspark_job.py",
       source_directory="./script",
       inputs=[input_ds],
       outputs=[output_ds],
       compute_target = "synapse",
       driver_memory = "7g",
       driver_cores = 4,
       executor_memory = "7g",
       executor_cores = 2,
       num_executors = 1,
       conf = {})

SynapseSparkStep では、入力として DatasetConsumptionConfig、出力として HDFSOutputDatasetConfig のみがサポートされます。

メソッド

create_node

Synapse スクリプト ステップ用のノードを作成します。

このメソッドは、直接使用するためのものではありません。 この手順でパイプラインがインスタンス化されると、Azure ML は、このメソッドに必要なパラメーターを自動的に渡して、そのステップをワークフローを表すパイプライン グラフに追加できるようにします。

create_node

Synapse スクリプト ステップ用のノードを作成します。

このメソッドは、直接使用するためのものではありません。 この手順でパイプラインがインスタンス化されると、Azure ML は、このメソッドに必要なパラメーターを自動的に渡して、そのステップをワークフローを表すパイプライン グラフに追加できるようにします。

create_node(graph, default_datastore, context)

パラメーター

名前 説明
graph
必須

ノードを追加するグラフ オブジェクト。

default_datastore
必須

既定のデータストア。

context
必須
<xref:azureml.pipeline.core._GraphContext>

グラフ コンテキスト。

戻り値

説明

作成されたノード。