翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon SageMaker AI での Apache Spark
Amazon SageMaker Spark は、SageMaker AI を使用して Spark 機械学習 (ML) パイプラインを構築するのに役立つオープンソースの Spark ライブラリです。これにより、モデルのトレーニングやホスティングなど、SparkML ステージと SageMaker AI ステージの統合が簡素化されます。SageMaker AI Spark の詳細については、「SageMaker AI Spark
SageMaker AI Spark ライブラリは Python と Scala で利用できます。SageMaker AI Spark を使用して、Spark クラスター内の org.apache.spark.sql.DataFrame データフレームを使用して SageMaker AI でモデルをトレーニングできます。モデルトレーニング後に、SageMaker AI ホスティングサービスを使ってモデルをホストすることもできます。
SageMaker AI Spark ライブラリ com.amazonaws.services.sagemaker.sparksdk には、特に次のようなクラスが用意されています。
-
SageMakerEstimator-org.apache.spark.ml.Estimatorインターフェイスを拡張します。この推定ツールは、SageMaker AI でのモデルトレーニングに使用できます。 -
KMeansSageMakerEstimator、PCASageMakerEstimator、XGBoostSageMakerEstimator-SageMakerEstimatorクラスを拡張します。 -
SageMakerModel-org.apache.spark.ml.Modelクラスを拡張します。このSageMakerModelは、SageMaker AI でのモデルのホスティングと推論に使用できます。
Python Spark (PySpark) と Scala ライブラリのソースコードはともに、SageMaker AI Spark
SageMaker AI Spark ライブラリのインストールと例については、「SageMaker AI Spark for Scala の例」または「SageMaker AI Spark for Python (PySpark) を使用するためのリソースの例」を参照してください。
で Amazon EMR を使用して Spark クラスターを管理する場合は、AWS「Apache Spark
トピック
Apache Spark アプリケーションを SageMaker AI と統合する
Apache Spark アプリケーションを SageMaker AI と統合するステップの概要を次に示します。
-
使い慣れている Apache Spark ライブラリを使用してデータの事前処理を続行します。データセットは Spark クラスター内で
DataFrameのまま残ります。データをDataFrameにロードします。org.apache.spark.ml.linalg.VectorがDoublesのfeatures列とオプションのlabel列がDouble 型の値を持つように、前処理を行います。 -
SageMaker AI Spark ライブラリ内で推定ツールを使ってモデルのトレーニングを行います。例えば、モデルトレーニングに SageMaker AI 提供の k-means アルゴリズムを選択した場合、
KMeansSageMakerEstimator.fitメソッドを呼び出します。DataFrameを入力として指定します。推定器はSageMakerModelオブジェクトを返します。注記
SageMakerModelはorg.apache.spark.ml.Modelを拡張します。fitメソッドは、次のような処理を実行します。-
入力
DataFrameを protobuf 形式に変換します。これは、入力DataFrameからfeaturesとlabel列を選択することで実行できます。次に、protobuf データを Amazon S3 バケットにアップロードします。protobuf 形式は、SageMaker AI でのモデルトレーニングに効率的です。 -
SageMaker AI に
CreateTrainingJobリクエストを送信することで、SageMaker AI でのモデルトレーニングを開始します。モデルトレーニングが完了すると、SageMaker AI はモデルのアーティファクトを S3 バケットに保存します。SageMaker AI は、モデルトレーニングのために指定されている IAM ロールを継承し、代理としてタスクを実行します。例えば、このロールを使用して、S3 バケットからトレーニングデータを読み取り、モデルアーティファクトをバケットに書き込みます。
-
SageMakerModelオブジェクトを作成して返します。モデルを SageMaker AI にデプロイすることに関連して、コンストラクターは次のタスクを実行します。-
SageMaker AI に
CreateModelリクエストを送信します。 -
SageMaker AI に
CreateEndpointConfigリクエストを送信します。 -
SageMaker AI に
CreateEndpointリクエストを送信します。これにより、SageMaker AI は指定されたリソースを起動し、そのリソース上でモデルをホストします。
-
-
-
SageMakerModel.transformを使って、SageMaker AI でホストされているモデルから推論を取得できます。特徴が指定された入力
DataFrameを入力として指定します。transformメソッドがそれを推論が含まれるDataFrameメソッドに変換します。内部的には、transformメソッドはInvokeEndpointSageMaker API にリクエストを送信して推論を取得します。このtransformメソッドは、推論を入力DataFrameに追加します。