Apache Spark を使用して Processing ジョブを実行する - Amazon SageMaker AI

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

Apache Spark を使用して Processing ジョブを実行する

Apache Spark は、大規模データ処理のための統合分析エンジンです。Amazon SageMaker AI は、Apache Spark と分散データ処理ジョブの実行に必要なその他の依存関係を含む構築済みの Docker イメージを提供します。Apache Spark を使用して Amazon SageMaker Processing ジョブを実行する方法の例を次に示します。

Amazon Python を使用すると、Spark SageMaker SDKフレームワークを使用してデータ変換を簡単に適用し、特徴を抽出 (特徴量エンジニアリング) できます。 SageMaker Python を使用して Spark 処理ジョブSDKを実行する方法については、Amazon Python の「Spark によるデータ処理」を参照してください。 SageMaker SDK

Spark イメージのソースコードと Dockerfiles を含むコードリポジトリは、 で入手できますGitHub

sagemaker.spark.PySparkProcessor クラスまたは sagemaker.spark.SparkJarProcessor クラスを使用して、処理ジョブ内で Spark アプリケーションを実行できます。を最大ランタイム制限の 5 日間 MaxRuntimeInSeconds に設定できます。単純な Spark ワークロードでは、実行時間と使用インスタンス数に関して、インスタンス数と完了までの時間にほぼ直線的な関係が見られます。

次のコード例は、 PySpark スクリプト を呼び出す処理ジョブを実行する方法を示していますpreprocess.py

from sagemaker.spark.processing import PySparkProcessor spark_processor = PySparkProcessor( base_job_name="spark-preprocessor", framework_version="2.4", role=role, instance_count=2, instance_type="ml.m5.xlarge", max_runtime_in_seconds=1200, ) spark_processor.run( submit_app="preprocess.py", arguments=['s3_input_bucket', bucket, 's3_input_key_prefix', input_prefix, 's3_output_bucket', bucket, 's3_output_key_prefix', output_prefix] )

詳細については、「Apache Spark による分散データ処理」と SageMaker 「処理」のサンプルノートブックを参照してください。

Amazon SageMaker AI Python SDKとそのいずれかのプロセッサクラスを使用して構築済みのイメージを取得していない場合は、これらのイメージを自分で取得できます。構築 SageMaker 済みの Docker イメージは Amazon Elastic Container Registry (Amazon ) に保存されますECR。利用可能な事前構築済み Docker イメージの完全なリストについては、使用できるイメージのドキュメントを参照してください。

処理コンテナSDKでの Python SageMaker の使用の詳細については、「Amazon SageMaker AI PythonSDK」を参照してください。