aws/sagemaker-spark

A Spark library for Amazon SageMaker.

解决的问题

SageMaker Spark 允许用户将 Amazon SageMaker 的机器学习功能直接集成到 Apache Spark ML 流水线中。它解决了在 Spark 中大规模数据处理与 SageMaker 的托管训练和托管基础设施之间存在的鸿沟问题,使用户能够在 Spark DataFrame 上大规模地进行模型训练和推理。

工作原理

该库提供了 SageMakerEstimatorSageMakerModel 类,可无缝集成到标准 Spark ML Pipeline API 中。

  1. 训练:当对 Spark DataFrame 调用 fit() 时,库会序列化数据,将其上传到 S3,并使用 Amazon 提供的算法(如 XGBoost 或 K-Means)或 Docker 容器中的自定义算法触发 SageMaker 训练任务。
  2. 托管:训练完成后,自动创建 SageMaker 端点以托管模型。
  3. 推理:当调用 transform() 时,库会将 Spark DataFrame 的数据块序列化,并通过 InvokeEndpoint API 发送到 SageMaker 端点,然后将预测结果追加回 DataFrame。

适用人群

使用 Apache Spark 进行数据准备,并希望在不离开 Spark 生态系统的情况下利用 Amazon SageMaker 实现可扩展模型训练和部署的数据工程师和机器学习从业者。

主要亮点

  • Spark 流水线集成:可将原生 Spark ML 阶段与 SageMaker 训练和托管阶段混合使用。
  • 灵活的算法支持:支持 SageMaker 内置算法或基于 Docker 的自定义算法。
  • SBOM 支持:支持 Scala 和 Python(通过 PySpark)。
  • 可扩展的推理:通过与托管的 SageMaker 端点交互,在 Spark DataFrame 上执行预测。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • Dispatch