三个理由告诉你为什么需要在云端运行Spark
Spark的发展势头正猛,可是对主流用户们来说还是太难了。云外加可视化也许有所帮助。
开源项目Apache Spark如今可能是从加州大学伯克利分校的AMP实验室孕育而来的最有名的项目。AMP实验室置身于机器学习、云计算和众包这三大潮流的交汇处,正在结合算法、机器和人员三者的力量,充分解读大数据。
开发Spark的初衷是扩展AMP实验室另一个项目Apache Mesos的功能,没想到迅速流行起来,几位开发者在2013年开了一家初创企业:Databricks,出资方是知名风投机构Andreessen Horowitz,通过主机托管的云平台来提供Spark,因而让数据专业人员很容易充分发挥Spark的功能。
作为一种替代Hadoop的MapReduce,并用来处理大数据的技术,Spark具有极大的吸引力。它结合了速度、易于使用的编程模型和统一设计,让用户能够将交互式查询、流式分析、机器学习和图形计算合并到单一系统里面。
Arsalan Tavakoli
将这种功能放到云端,又提供一种单一而出色的用户体验,你就为从事数据探查和构建端到端数据管道的任何人提供了一种杀手级平台。使用从头开始为大数据开发的可视化分析应用程序,比如Zoomdata,你就有了一种杀手级价值主张,可以进行超快速的商业智能(BI)可视化分析。
我采访了Databricks公司的客户互动副总裁Arsalan Tavakoli,请他谈谈Spark和数据分析技术如何成为强大的组合。
为何Spark放在云端?既然我下载Spark后可以在内部本地运行Spark,为何还需要向Databricks租用Spark呢?
Tavakoli:很显然,Spark是作为一种开源产品来提供的。谁都可以从众多供应商处下载,并使用它。但是我们考察了大数据项目失败的客户后,发现通常有三个原因可以解释项目为何会失败。
首先,基础设施管理很难。如果是在内部本地运行,你要考虑6到9个月的过渡期,才能让大数据基础设施投入到生产环境,有时需要更长的时间。即便你在亚马逊网络服务(AWS)上运行Spark,也得编写EC2脚本,让开发运营(DevOps)人员参与其中。这并不好。
切记,基础设施很难。而许多公司求助于Spark,很大程度上是由于其快速的创新周期。它们想获得由数百人贡献代码、一直日臻完善的这样一项技术带来的好处。这意味着,这也是一项迅速前进的技术。你的团队需要花多长时间才能将最新版本部署并运行起来?
其次,一旦你的Spark集群安搭建并运行起来,该如何处理它?数据科学家往往使用偏爱的语言,比如R和Python。现在,他们不得不弄清楚如何导入数据,如何让任务尽快运行起来。处理独立式Spark所必不可少的工具链可能对这些用户来说难以使用。你又该如何运行你的分析技术、与同事合作呢?
这并非易事。
第三,在你全面测试了查询和模型后,你想进入到生产环境DD这个过程看起来像什么?在大多数公司,这意味着将你的模型交给工程团队,这支团队回过头去,将你认为需要的特性重新实施到所有新的基础设施上。
像Databricks这样的云平台提供了一套集成的、主机托管的解决方案,消除了企业采用Spark和确保大数据项目成功所面临的这三大障碍。我们为你提供了全面管理和调优的Spark集群,开发Spark的一群专家在大力支持。我们的平台为你提供了一种互动式工作区域,以便探查、可视化、合作和发布。如果你已准备好进入生产环境,只要点击一下鼠标即可启动任务。我们会自动搭建基础设施。
另外,我们还提供了一组丰富的API,以便通过编程访问该平台,这还让用户能够无缝整合第三方应用程序。
请说一下为何客户们想要在云端进行商业智能可视化。有没有特别的原因可以解释交付的这种平台最适合商业智能可视化?
Tavakoli:人们想要使用数据来获得洞察力,以便深入了解公司业务,而数据工程师和数据科学家致力于提供这种洞察力。但是除非你是像Pinterest、Netflix或Facebook这样的技术型公司,否则他们(数据工程师和数据科学家)只是任何企业组织的一小部分。业务分析员和最终用户这个用户群要大得多。
比如说,营销部门的人想对数据进行大致的交叉分析,可是苦于没有相应的技术技能。他们就想在受到严重制约的决策空间获得仪表板或诸如此类的工具。
明智的公司知道,自己应该帮助员工能够自我管理。这时候,商业智能可视化可以发挥其作用。你可能会需要一款针对特定领域的应用程序。
这么说来,这是贵公司与Zoomdata达成合作伙伴的原因?Databricks Cloud的用户可以从这种合作关系中得到原本得不到的哪些好处?
Tavakoli:我们的客户使用场合与Zoomdata存在诸多重叠之处。许多这些企业是典型的早期采用者,它们高度依赖数据工程师和数据科学家。所有这些企业组织还有一个主要的商业智能仓库组件。
但是这些公司可能会问自己的下一个问题是:我如何才能让这对更多的用户来说更简单?我拥有所有这些数据,可以用Spark来处理,如何才能提供给不是开发人员的那些用户呢?
为此,商业智能可视化应用程序再理想不过,而Zoomdata证明了它很适合我们的云。
您在这种Databricks/Zoomdata联合解决方案方面看到一些常见的使用场合有哪些?
Tavakoli:一种常见的使用场合是广告技术(AdTech)垂直领域。
广告技术公司通常有下列流程:它们从众多来源汇集数据,建立起内部数据库,然后这些数据通过又长又深的抽取、转换和加载(ETL)管道,转换成经过处理的形式。
随后,每个客户提供来自CRM和营销自动化系统的数据,这些数据需要与该内部数据库结合起来,才能解答营销活动效果方面的问题。这个过程由全面检验了深入理论的数据工程师和数据科学家来处理。
另一方面,数据分析师和产品经理们想要提出更大致的问题,比如产品中哪项功能最有效,或者他们想知道移动广告的效果怎样。这一群用户在使用Zoomdata之类的商业智能用户界面时得心应手。
另一种使用场合是物联网。Automatic Labs等公司获取来自汽车里面所有设备的全部数据。数据科学家分析与汽车、成本和驾驶模式有关的基本趋势方面的更深入问题。
像客户经理这些非专家人员可能就是想查看不同的数据,以便与保险费率关联起来。这些人可不想处理搭建Spark集群以及编写Python或SQL代码之类的事情。