aws/sagemaker-spark

A Spark library for Amazon SageMaker.

解决的问题

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

工作原理

该库提供了 SageMakerEstimator 和 SageMakerModel 类,可无缝集成到标准 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