翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon SageMaker AI Spark は、SageMaker AI を使用して Spark 機械学習 (ML) パイプラインを構築するのに役立つオープンソースの Spark ライブラリです。これにより、モデルのトレーニングやホスティングなどの Spark ML ステージと 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
クラスを拡張します。これは、SageMaker AI でのモデルのホスティングと推論の取得SageMakerModel
に使用できます。
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
。特徴が指定された入力
DataFrame
を入力として指定します。transform
メソッドがそれを推論が含まれるDataFrame
メソッドに変換します。内部的には、transform
メソッドはInvokeEndpoint
SageMaker API にリクエストを送信して推論を取得します。このtransform
メソッドは、推論を入力DataFrame
に追加します。