Spark架构在大数据环境的核心位置找到用武之地

简介:

Webtrends公司的IT团队在Apache Spark这款处理引擎还是一项学术研究项目的时候就已经开始使用它并沿用至今。但当Webtrends在2014年年中部署了一套基于Hadoop的大数据环境来对分析应用程序进行增强的时候,Spark架构便成了一个有限的角色:有关数据索引的聚合细节有助于用户发现相关信息。现在,一切都已改变,而且该公司正在花大力气学习Spark并作为其大数据平台升级版本的一部分。

Spark架构在大数据环境的核心位置找到用武之地

Webtrends从网站,移动设备和物联网收集用户活动数据提供给企业客户用于分析,它将Spark置于一款名为Infinity Analytics应用程序的核心位置,该应用在2016年初开始了基本版测试,而现在正在向客户进行营销。该公司建立了一个拥有160个节点的Spark系统来支持在线营销活动的实时优化,而这是以进入Hadoop集群的活动数据流的快速分析为基础的。“我们基本上已经解除了Spark对数据湖的束缚来做所有的计算,”CTO Peter Crossley说。

越来越多的企业同样正将注意力转向Spark以帮助对大数据处理工作进行加速。独立的统计数据很难得到处理引擎的采用,在2014年五月之后,这才以1.0的版本通过Apache Software Foundation变得可用。但是,Databricks公司是一家初创供应商,它是Spark开发背后的驱动力,公司负责人表示有超过500家企业已经在应用程序的生产中部署了该项技术。而且Spark显然已经与Hadoop一并跻身大数据聚光灯之下,它和Hadoop经常但并不总是进行配对。

Spark的最开始的名片是它能比MapReduce更快地运行批处理应用程序,而其编程环境和执行引擎是嵌入在Hadoop原始版本中的。Spark的支持者宣称其核心内存引擎在处理数据上可以比MapReduce快100倍。批处理任务仍是Spark的一个很大的应用方面,分析大量数据和对数据进行提取,转换和加载(ETL)例程的前期准备也同样如此。

但是,对于Spark架构来说远不止如此。该技术还能通过一组附加组件来处理更多的互动和实时工作负载,这些附加组件包括机器学习库,流处理模块和图形处理接口。除了其处理速度和应用程序多功能性,Spark可以让用户避免在MapReduce中编程。相反,他们可以使用更高级别且更为熟悉的语言,如Java,Python,Scala,SQL和R。

Spark拥有足够的部署选项

Hadoop根本不需要成为以下愿景的一部分:Spark能够针对数据存储以独立模式运行,而非Hadoop分布式文件系统——例如,NoSQL数据库和Amazon Simple Storage Service。同样的,并不只是Databricks在将该处理引擎推向前进。IBM,Microsoft,Amazon Web Services以及Hadoop的分销商Cloudera, Hortonworks和 MapR Technologies还有其他大数据厂商同样对Spark提供并支持。

另一方面,一些早期使用者表示,Spark是一项有待进一步成熟的新兴技术。例如,他们引用了内存管理问题,与MapReduce相比缺失的功能,不完整的数据加密支持,以及缺乏监控和管理Spark系统的工具。要填补这些空白,对于Spark架构的开发步伐已然是迅速而剧烈的了:在2015年Apache开源软件有9个发布版,而到今年为止已经发布了5个版本,包括在7月份可用的Spark2.0版。

但是成熟度问题并不会对诸如Webtrends之类的用户造成困扰。从Crossley的立场来看,Spark在生产上显然是已经就绪了的。“它是一项稳定的技术,对于部署Spark我丝毫没有犹豫,”他说。

MapReduce不会为了Webtrends正在关注的Infinity Analytic应用程序高速性能而进行削减,但Crossley将Spark和它的Spark Streaming模块描述为一个完美的组合。“我们的想法是数据通过我们的系统进行无缝迁移,而且这是实时发生的。要以一种快速的方法来查看这些数据并进行审计的确需要拥有像Spark这样的设施。”

每天Webtrends都会对超过130亿的在线事件(例如互联网点击流)筛选数据到它的Hortonworks,Hortonworks是基于Hadoop的集群。它要花费12个小时来让传入的数据在公司的第一款名为Explore的大数据分析应用程序中可用。

有了Spark平台以流的方式来处理数据和针对其运行自动机器学习的算法,在Infinity Analytics的最初用户企业中,营销经理和数据科学家们能够在几分钟内获得信息,Crossley说。他的目标是将延时降至几秒钟,这样客户端就能为网站访问者动态调整网页和提供营销。

为Spark架构提升可移动性

Synchronoss Technologies公司同样将其大数据环境集中在Spark上。“我们非常将Spark作为我们的数据处理引擎,” Bridgewater, N.J.公司的大数据分析师Suren Nathan说,该公司给移动网络运营商和合作企业出售移动管理应用程序和相关的分析服务。

大数据实现还包括运行了MapR分布的Hadoop集群;它起源于Razorsight Corp.,这是一家Synchronoss在2015年八月收购的分析提供商。Nathan负责Razorsight的部署工作,他说Spark最初是在几个主要批处理应用程序上作为MapReduce的更快替代品来使用的。这包括ETL数据集成工作,以及给Synchronoss分析团队提供该公司从其客户端收集的设备,网络和操作数据认知的数据分析项目。

但Synchronoss正在寻求对Spark架构的使用进行扩展以用于更加实时的处理领域。到今年年底为止,它计划为诸如追踪移动设备使用的应用程序添加Spark Streaming,这样营销产品就能在事件发生点发送给客户,Nathan说。接下来他预计在2017年转向MLlib,这是Spark的集群学习库,用于自动分析应用程序——例如,检测公司网络中的欺诈活动和对移动设备安全政策的违反。

除了用Python和Java来编写应用程序代码,Synchronoss还可以通过该软件的Spark SQL模块来进行SQL编程。在其周围的核心引擎和组件中,对于企业的大数据处理需求来说,Spark平台是一种一站式服务,Nathan说。“如果我们不使用Spark,那么我们就必须对所有这些东西使用一项不同的技术。”


本文作者:佚名

来源:51CTO

相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
相关文章
|
4月前
|
数据采集 搜索推荐 Java
Java 大视界 -- Java 大数据在智能教育虚拟学习环境构建与用户体验优化中的应用(221)
本文探讨 Java 大数据在智能教育虚拟学习环境中的应用,涵盖多源数据采集、个性化推荐、实时互动优化等核心技术,结合实际案例分析其在提升学习体验与教学质量中的成效,并展望未来发展方向与技术挑战。
|
5月前
|
存储 SQL 监控
数据中台架构解析:湖仓一体的实战设计
在数据量激增的数字化时代,企业面临数据分散、使用效率低等问题。数据中台作为统一管理与应用数据的核心平台,结合湖仓一体架构,打通数据壁垒,实现高效流转与分析。本文详解湖仓一体的设计与落地实践,助力企业构建统一、灵活的数据底座,驱动业务决策与创新。
|
6月前
|
存储 SQL 分布式计算
19章构建企业级大数据平台:从架构设计到数据治理的完整链路
开源社区: 贡献者路径:从提交Issue到成为Committer 会议演讲:通过DataWorks Summit提升影响力 标准制定: 白皮书撰写:通过DAMA数据治理框架认证 专利布局:通过架构设计专利构建技术壁垒
|
6月前
|
人工智能 分布式计算 大数据
大数据≠大样本:基于Spark的特征降维实战(提升10倍训练效率)
本文探讨了大数据场景下降维的核心问题与解决方案,重点分析了“维度灾难”对模型性能的影响及特征冗余的陷阱。通过数学证明与实际案例,揭示高维空间中样本稀疏性问题,并提出基于Spark的分布式降维技术选型与优化策略。文章详细展示了PCA在亿级用户画像中的应用,包括数据准备、核心实现与效果评估,同时深入探讨了协方差矩阵计算与特征值分解的并行优化方法。此外,还介绍了动态维度调整、非线性特征处理及降维与其他AI技术的协同效应,为生产环境提供了最佳实践指南。最终总结出降维的本质与工程实践原则,展望未来发展方向。
377 0
|
2月前
|
分布式计算 Kubernetes 调度
Kubeflow-Spark-Operator-架构学习指南
本指南系统解析 Spark Operator 架构,涵盖 Kubebuilder 开发、控制器设计与云原生集成。通过四阶段学习路径,助你从部署到贡献,掌握 Kubernetes Operator 核心原理与实战技能。
206 0
|
3月前
|
存储 分布式计算 资源调度
【赵渝强老师】阿里云大数据MaxCompute的体系架构
阿里云MaxCompute是快速、全托管的EB级数据仓库解决方案,适用于离线计算场景。它由计算与存储层、逻辑层、接入层和客户端四部分组成,支持多种计算任务的统一调度与管理。
364 1
|
5月前
|
消息中间件 分布式计算 大数据
“一上来就搞大数据架构?等等,你真想清楚了吗?”
“一上来就搞大数据架构?等等,你真想清楚了吗?”
116 1
|
4月前
|
SQL 存储 监控
流处理 or 批处理?大数据架构还需要流批一体吗?
简介:流处理与批处理曾是实时监控与深度分析的两大支柱,但二者在数据、代码与资源上的割裂,导致维护成本高、效率低。随着业务对数据实时性与深度分析的双重需求提升,传统架构难以为继,流批一体应运而生。它旨在通过逻辑、存储与资源的统一,实现一套系统、一套代码同时支持实时与离线处理,提升效率与一致性,成为未来大数据架构的发展方向。
|
4月前
|
传感器 分布式计算 大数据
“用大数据盯着天看地”——聊聊环境监测的精准化升级
“用大数据盯着天看地”——聊聊环境监测的精准化升级
136 0
|
5月前
|
SQL JSON 分布式计算
Spark SQL架构及高级用法
Spark SQL基于Catalyst优化器与Tungsten引擎,提供高效的数据处理能力。其架构涵盖SQL解析、逻辑计划优化、物理计划生成及分布式执行,支持复杂数据类型、窗口函数与多样化聚合操作,结合自适应查询与代码生成技术,实现高性能大数据分析。