Amazon で Apache Spark を使用する SageMaker - Amazon SageMaker

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon で Apache Spark を使用する SageMaker

Amazon SageMaker Spark は、 を使用して Spark 機械学習 (ML) パイプラインを構築するのに役立つオープンソースの Spark ライブラリです SageMaker。これにより、Spark ML ステージと SageMakerモデルトレーニングやホスティングなどのステージの統合が簡素化されます。 SageMaker Spark の詳細については、Spark SageMaker GitHubリポジトリを参照してください。

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。

  • KMeansSageMakerEstimatorPCASageMakerEstimatorXGBoostSageMakerEstimator - SageMakerEstimator クラスを拡張します。

  • SageMakerModel - org.apache.spark.ml.Model クラスを拡張します。これは、 でのモデルのホスティングと推論の取得SageMakerModelに使用できます SageMaker。

Python Spark (PySpark) ライブラリと Scala ライブラリの両方のソースコードを SageMaker Spark GitHub リポジトリからダウンロードできます。

SageMaker Spark ライブラリのインストールと例については、SageMaker Spark for Scala の例「」または「」を参照してくださいSageMaker Spark for Python (PySpark) の例

EMR で Amazon を使用する場合 AWS Spark クラスターを管理するには、「Apache Spark」を参照してください。EMR での Amazon の使用の詳細については SageMaker、「」を参照してくださいAmazon EMRクラスターを使用してデータを準備する

Apache Spark アプリケーションを と統合する SageMaker

Apache Spark アプリケーションを と統合する手順の概要を次に示します SageMaker。

  1. 使い慣れている Apache Spark ライブラリを使用してデータの事前処理を続行します。データセットは Spark クラスター内で DataFrame のまま残ります。データを にロードしますDataFrame。を org.apache.spark.ml.linalg.Vectorとするfeatures列とDoublesDouble型の値を持つオプションのlabel列を持つように前処理します。

  2. SageMaker Spark ライブラリの推定器を使用してモデルをトレーニングします。例えば、モデルトレーニング SageMaker のために が提供する k-means アルゴリズムを選択した場合は、 KMeansSageMakerEstimator.fitメソッドを呼び出します。

    DataFrame を入力として指定します。推定器は SageMakerModel オブジェクトを返します。

    注記

    SageMakerModelorg.apache.spark.ml.Model を拡張します。

    fit メソッドは、次のような処理を実行します。

    1. 入力を protobuf 形式に変換DataFrameします。これを行うには、入力 から 列featureslabel列を選択しますDataFrame。次に、protobuf データを Amazon S3 バケットにアップロードします。protobuf 形式は、 でのモデルトレーニングに効率的です SageMaker。

    2. リクエストを送信 SageMaker して、 SageMaker CreateTrainingJob でモデルトレーニングを開始します。モデルトレーニングが完了すると、 はモデルアーティファクトを S3 バケットに SageMaker 保存します。

      SageMaker は、モデルトレーニング用に指定したIAMロールを引き受け、ユーザーに代わってタスクを実行します。例えば、このロールを使用して、S3 バケットからトレーニングデータを読み取り、モデルアーティファクトをバケットに書き込みます。

    3. SageMakerModel オブジェクトを作成して返します。コンストラクタは、モデルの へのデプロイに関連する次のタスクを実行します SageMaker。

      1. CreateModelリクエストを送信します SageMaker。

      2. SageMaker に CreateEndpointConfig リクエストを送信します。

      3. CreateEndpoint リクエストを に送信し SageMaker、 は指定されたリソースを起動し、そのリソースでモデルをホストします。

  3. でホストされているモデルから SageMaker を使用して推論を取得できますSageMakerModel.transform

    特徴が指定された入力 DataFrame を入力として指定します。transform メソッドがそれを推論が含まれる DataFrame メソッドに変換します。内部的には、 transformメソッドは に リクエストを送信InvokeEndpoint SageMaker APIして推論を取得します。この transform メソッドは、推論を入力 DataFrame に追加します。