Apache Spark 是一款常用于大数据工作负载的开源分布式处理系统。Apache Spark 利用内存中的缓存和经过优化的执行方式以实现高速性能,支持常规批处理、流式分析、机器学习、图形数据库和即席查询。
Amazon EMR 本身支持 Hadoop YARN 上的 Apache Spark,您可以从 AWS 管理控制台、AWS CLI 或 Amazon EMR API 轻松快速地创建托管的 Apache Spark 集群。此外,您还可以利用其他 Amazon EMR 功能,包括使用 Amazon EMR 文件系统 (EMRFS) 快速连接 Amazon S3、与 Amazon EC2 竞价型市场集成,以及调整命令以在集群中轻松添加或移除实例。借助 Apache Spark,您还可以使用 Apache Zeppelin 创建交互式和协作式笔记本电脑以进行数据探索。
通过使用有向无环图 (DAG) 执行引擎,Apache Spark 可以创建针对数据转换的高效查询计划。Apache Spark 还会将输入内容、输出内容以及内存中的中间数据存储为弹性分布式数据集 (RDD),从而实现快速处理(不会产生 I/O 成本)并提高迭代式或交互式工作负载的性能。
借助 Amazon EMR Step API 提交 Apache Spark 作业,结合使用 Apache Spark 和 EMRFS 以直接访问 Amazon S3 中的数据,使用 Amazon EC2 竞价型容量节约成本,并根据您的工作负载启动长期运行的集群或临时集群。Amazon EMR 在 Hadoop YARN 上安装和管理 Apache Spark,您还可以在集群中添加其他 Hadoop 生态系统应用程序。单击此处可详细了解 Amazon EMR 功能。
Intent Media
Intent Media 运营着一个用于在旅游商务网站上进行广告宣传的平台。数据团队使用 Amazon EMR 上的 Apache Spark 和 MLlib 每日摄取数 TB 的电子商务数据,并使用这些信息来支持其决策服务,从而优化客户收入。单击此处可了解更多信息。
Krux
作为用于管理客户信息的数据管理平台的一部分,Krux 使用 Apache Spark 运行许多机器学习和常规处理工作负载。Krux 结合使用临时 Amazon EMR 集群和 Amazon EC2 竞价型容量来节约成本,并将 Amazon S3 与 EMRFS 用作 Apache Spark 的数据层。
GumGum
图像内和屏幕内广告平台 GumGum 使用 Amazon EMR 上的 Spark 预测库存、处理点击流日志以及临时分析 Amazon S3 中的非结构化数据。Spark 的增强性能为 GumGum 节省了处理这些工作流程的时间和资金。
CrowdStrike
CrowdStrike 提供端点防护以防止出现违例。它们结合使用 Amazon EMR 和 Spark 来处理数百 TB 的事件数据,并将其汇总到主机上更高级别的行为描述中。通过这些数据,CrowdStrike 可以将事件数据汇集在一起并确定是否存在恶意活动。
借助 Amazon EMR 上的 Spark 流传输,从 Amazon Kinesis、Apache Kafka 或其他数据流使用和处理实时数据。采用容错方式执行流分析,并将相应结果写入到 Amazon S3 或基于集群的 HDFS 中。
- 有关使用 Apache Spark 创建 Amazon EMR 集群的说明
- 访问针对 Spark 项目的 Apache Software Foundation 网站,详细了解 Spark 项目
- AWS 博客中关于 Amazon EMR 上的 Spark 的推介博文和演示
- AWS 大数据博客中 Intent Media 发表的关于使用 Amazon EMR 上的 Apache Spark 的机器学习的访客博文