依赖于Hadoop的企业需要借助一系列分析型基础设施与流程以找到与各类关键性问题相关的结论与解答。企业客户需要数据准备、描述性分析、搜索、预测性分析以及机器学习与图形处理等更为先进的功能。与此同时,企业还需要一套能够满足其实际需求的工具集,允许他们充分运用目前已经具备的各类技能及其它资源。就目前而言,并没有哪种标准化单一处理框架足以提供这样的效果。从这个角度出发,Spark的优势恰好得到了完美体现。
尽管Spark还仅仅是个相对年轻的数据项目,但其能够满足前面提到的全部需求,甚至可以做得更多。在今天的文章中,我们将列举五大理由,证明为什么由Spark领衔的时代已经来临。
1. Spark让高级分析由理想变为现实
尽管多数大型创新型企业正在努力拓展其高级分析能力,但在最近于纽约召开的一次大数据分析会议上,只有20%的与会者表示目前正在企业内部部署高级分析解决方案。另外80%与会者反映其仍然只具备简单的数据准备与基本分析能力。在这些企业中,只有极少数数据科学家开始将大量时间用于实现并管理描述性分析机制。
Spark项目提供的框架能够让高级分析的开箱即用目标成为现实。这套框架当中包含众多工具,例如查询加速、机器学习库、图形处理引擎以及流分析引擎等等。对于企业而言,即使拥有极为杰出的数据科学家人才(当然这一前提同样很难实现),他们也几乎不可能通过MapReduce实现上述分析目标。除此之外,Spark还提供易于使用且速度惊人的预置库。在此基础之上,数据科学家们将被解放出来,从而将主要精力集中在数据准备及质量控制之外的、更为关键的事务身上。有了Spark的协助,他们甚至能够确保对分析结果做出正确的解释。
2. Spark让一切更为简便
长久以来,Hadoop面临的最大难题就是使用难度过高,企业甚至很难找到有能力打理Hadoop的人才。虽然随着新版本的不断出炉,如今 Hadoop在便捷性与功能水平方面已经得到了长足进步,但针对难度的诟病之声依然不绝于耳。相较于强制要求用户了解一系列高复杂性知识背景,例如 Java与MapReduce编程模式,Spark项目则在设计思路上保证了每一位了解数据库及一定程度脚本技能(使用Python或者Scala语言) 的用户都能够轻松上手。在这种情况下,企业能够更顺畅地找到有能力理解其数据以及相关处理工具的招聘对象。此外,供应商还能够快速为其开发出分析解决方案,并在短时间内将创新型成果交付至客户手中。
3. Spark提供多种语言选项
在讨论这一话题时,我们不禁要问:如果SQL事实上并不存在,那么我们是否会为了应对大数据分析挑战而发明SQL这样一种语言?答案恐怕是否定的 ——至少不会仅仅只发明SQL。我们当然希望能够根据具体问题的不同而拥有更多更为灵活的选项,通过多种角度实现数据整理与检索,并以更为高效的方式将数据移动到分析框架当中。Spark就抛开了一切以SQL为中心的僵化思路,将通往数据宝库的大门向最快、最精致的分析手段敞开,这种不畏数据与业务挑战的解决思路确实值得赞赏。
4. Spark加快结果整理速度
随着业务发展步伐的不断加快,企业对于实时分析结果的需要也变得愈发迫切。Spark项目提供的并发内存内处理机制能够带来数倍于其它采用磁盘访问方式的解决方案的结果交付速度。传统方案带来的高延迟水平会严重拖慢增量分析及业务流程的处理速度,并使以此为基础的运营活动难于开展。随着更多供应商开始利用Spark构建应用程序,分析任务流程的执行效率将得到极大提高。分析结果的快速交付意味着分析人士能够反复验证自己的论断,给出更为精确且完整的答案。总而言之,Spark项目让分析师们将精力集中在核心工作上:更快更好地为难题找出解答。
5. Spark对于Hadoop供应商选择不设硬性要求
目前各大Hadoop发行版本都能够支持Spark,其理由也非常充分。Spark是一套中立性解决方案,即不会将用户绑定到任何一家供应商身上。由于Spark属于开源项目,因此企业客户能够分析地构建Spark分析基础设施而不必担心其是否会受到某些Hadoop供应商在特定发展思路方面的挟持。如果客户决定转移平台,其分析数据也能够顺利实现迁移。
Spark项目蕴含着巨大的能量,而且已经在短时间内经受住了考验、证明其有能力密切匹配大数据分析业务的实际要求。目前我们所迎来的还仅仅是 “Spark时代”的开端。随着企业越来越多地发挥Spark项目中的潜能,我们将逐步见证Spark在任意大数据分析环境下巩固其核心技术地位,围绕其建立起的生态系统也将继续茁壮成长。如果企业客户希望认真考量高级实时分析技术的可行性,那么将Spark引入自身大数据集几乎已经成为一种必然。