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 Spot 市场和 AWS Glue 数据目录集成,以及使用 Auto Scaling 从群集中添加或移除实例。此外,您还能使用 Apache Zeppelin 来创建交互式协作笔记本,以便使用 Apache Spark 挖掘数据,并将 Apache MXNet 等深度学习框架用于 Spark 应用程序。

Spark-logo-192x100px
S3_Sketch_Available

通过使用有向无环图 (DAG) 执行引擎,Apache Spark 可以创建针对数据转换的高效查询计划。Apache Spark 还会将输入内容、输出内容以及内存中的中间数据存储为弹性分布式数据集 (RDD),从而实现快速处理(不会产生 I/O 成本)并提高迭代式或交互式工作负载的性能。

S3_Sketch_HighPerformance

Apache Spark 本身支持 Java、Scala 和 Python,可为您提供多种应用程序构建语言。此外,您还可以使用 Spark SQL 模块将 SQL 或 HiveQL 查询提交给 Apache Spark。除了运行应用程序以外,您还能在群集上的 Apache Spark shell 中以交互方式直接结合使用 Apache Spark API 和 Python 或 Scala。此外,您还可以利用 Zeppelin 创建交互式和协作式笔记本电脑以进行数据探索和实现可视化。并且,您能够根据 Amazon EMR 控制台中的 Spark 应用程序历史记录或使用群集上的原生 Spark UI 和历史记录服务器调试工作负载。

S3_Sketch_Simple

Apache Spark 包括多个库,可帮助构建针对以下方面的应用程序:机器学习 (MLlib)、流处理 (Spark 流传输) 和图形处理 (GraphX)。这些库紧密集成在 Apache Spark 生态系统中,可即时用于处理各种使用案例。此外,您还可以将 Apache MXNet 等深度学习框架用于 Spark 应用程序。

Benefit_Workflow_Green

借助 Amazon EMR Step API 提交 Apache Spark 作业,结合使用 Apache Spark 和 EMRFS 以直接访问 Amazon S3 中的数据,使用 Amazon EC2 竞价型容量节约成本,使用 Auto Scaling 动态添加和移除容量,并根据您的工作负载启动长期运行的群集或临时群集。您还可以使用 Amazon EMR 安全配置轻松配置 Spark 加密和 Kerberos 身份验证。此外,您可以使用 AWS Glue 数据目录存储 Spark SQL 表元数据,或与 Spark 机器学习管道配合使用 Amazon SageMaker。Amazon EMR 在 Hadoop YARN 上安装和管理 Apache Spark,您还可以在集群中添加其他 Hadoop 生态系统应用程序。单击此处可详细了解 Amazon EMR 功能。


Yelp

Yelp 的广告定位团队设计了一些预测模型来确定用户与广告互动的几率。通过使用 Amazon EMR 上的 Apache Spark 处理大量数据来改进机器学习模型,Yelp 提高了收入和广告点击率。

华盛顿邮报

《华盛顿邮报》使用 Amazon EMR 上的 Apache Spark 构建模型,为其网站的推荐引擎提供强大支持,从而提高读者的参与度和满意度。它们利用 Amazon EMR 与 Amazon S3 的完美连接,以近乎实时的方式更新模型。

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 节省了处理这些工作流程的时间和资金。
 

阅读更多 »

Hearst Corporation

Hearst Corporation 是一家大型多元化媒体信息公司,客户可查看 200 多个网站上的内容。利用 Amazon EMR 上的 Apache Spark 流传输,Hearst 的编辑人员可以实时了解哪些文章反响良好以及哪些主题是热门话题。
 

阅读更多 »

CrowdStrike

CrowdStrike 提供端点防护以防止出现违例。它们结合使用 Amazon EMR 和 Spark 来处理数百 TB 的事件数据,并将其汇总到主机上更高级别的行为描述中。通过这些数据,CrowdStrike 可以将事件数据汇集在一起并确定是否存在恶意活动。
 

阅读更多 »


借助 Amazon EMR 上的 Spark Streaming,使用和处理来自 Amazon KinesisApache Kafka 或其他数据流的实时数据。采用容错方式执行流分析,并将相应结果写入到 Amazon S3 或基于集群的 HDFS 中。

 

Amazon EMR 上的 Apache Spark 包括适用于各种可扩展的机器学习算法的 MLlib,或者您也可以使用自己的库。通过在作业过程中存储内存中的数据集,Spark 可针对机器学习工作负载中常见的迭代查询提供出色的性能。

 

 

使用 Spark SQL 进行低延迟的 SQL 或 HiveQL 交互式查询。Amazon EMR 上的 Apache Spark 可以利用 EMRFS,因此您可以临时访问 Amazon S3 中的数据集。此外,您可以通过 ODBC 和 JDBC 连接来使用 Zeppelin 笔记本电脑或 BI 工具。