Apache Spark を使ってデータを処理する - Amazon SageMaker

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

Apache Spark を使ってデータを処理する

Apache Spark は、大規模データ処理のための統合分析エンジンです。Amazon SageMaker は、Apache Spark や、分散データ処理ジョブの実行に必要なその他の依存関係を含むビルド済みの Docker イメージを提供します。Amazon SageMaker Python SDK を使用すると、Spark フレームワークを使用してデータ変換を簡単に適用し、特徴 (特徴量エンジニアリング) を抽出できます。 SageMaker Python SDK を使用して Spark 処理ジョブを実行する方法については、Amazon Python SDK の「Spark によるデータ処理」を参照してください。 SageMaker

Spark イメージのソースコードと Dockerfiles を含むコードリポジトリは、 にありますGitHub

Spark の処理ジョブを実行する

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

Processing コンテナで SageMaker Python SDK を使用する方法の詳細については、「Amazon SageMaker Python SDK」を参照してください。