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 中。
- 训练:当对 Spark DataFrame 调用
fit()时,库会序列化数据,将其上传到 S3,并使用 Amazon 提供的算法(如 XGBoost 或 K-Means)或 Docker 容器中的自定义算法触发 SageMaker 训练任务。 - 托管:训练完成后,自动创建 SageMaker 端点以托管模型。
- 推理:当调用
transform()时,库会将 Spark DataFrame 的数据块序列化,并通过InvokeEndpointAPI 发送到 SageMaker 端点,然后将预测结果追加回 DataFrame。
适用人群
使用 Apache Spark 进行数据准备,并希望在不离开 Spark 生态系统的情况下利用 Amazon SageMaker 实现可扩展模型训练和部署的数据工程师和机器学习从业者。
主要亮点
- Spark 流水线集成:可将原生 Spark ML 阶段与 SageMaker 训练和托管阶段混合使用。
- 灵活的算法支持:支持 SageMaker 内置算法或基于 Docker 的自定义算法。
- SBOM 支持:支持 Scala 和 Python(通过 PySpark)。
- 可扩展的推理:通过与托管的 SageMaker 端点交互,在 Spark DataFrame 上执行预测。
相关
- 项目
- 项目
- 项目
- 项目
- Dispatch