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