使用 Apache Spark 运行处理作业 - 亚马逊 SageMaker AI

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 Apache Spark 运行处理作业

Apache Spark 是用于大规模数据处理的统一分析引擎。Amazon SageMaker AI 提供预构建的 Docker 镜像,其中包括 Apache Spark 和运行分布式数据处理任务所需的其他依赖项。以下是如何使用 Apache Spark 运行亚马逊 SageMaker 处理任务的示例。

借助 Amaz SageMaker on Python SDK,您可以使用 Spark 框架轻松应用数据转换和提取功能(功能工程)。有关使用 SageMaker Python SDK 运行 Spark 处理任务的信息,请参阅在 Amazon SageMaker Python使用 Spark 进行数据处理SDK。

包含源代码和 Spark 映像的 DockerFiles 的代码存储库可在上找到。GitHub

您可以使用 sagemaker.spark.PySparkProcessorsagemaker.spark.SparkJarProcessor 类,在处理作业中运行 Spark 应用程序。请注意,您可以 MaxRuntimeInSeconds 将最大运行时间限制设置为 5 天。关于执行时间和使用的实例数量,简单的 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 A SageMaker I Python SDK 及其处理器类之一来检索预先构建的图像,则可以自己检索这些图像。 SageMaker 预构建的 Docker 镜像存储在亚马逊弹性容器注册表(亚马ECR逊)中。有关可用的预构建 Docker 映像的完整列表,请参阅可用的映像文档。

要了解有关在处理容器中使用 SageMaker Python SDK 的更多信息,请参阅亚马逊 A SageMaker I Python SDK