Spark大数据分布式计算框架得到数据工程师的极大关注,但是到目前为止它的吸引力仅限于此。但是,用户认为它有一个主要特性可以帮助它扩大影响力:速度。
企业越来越多地使用自助分析应用程序,它们变得很容易操作。简单易用通常是在组织范围内成功应用的一个最大因素,但是在上周旧金山举行的Spark Summit 2015大会上,这个计算框架的早期使用者指出,速度可能才是让一线人员使用数据的最大卖点。
谷歌最近收购的智能调度服务制造商Timeful的副总裁Gloria Lau说:“它们必须快速失败,它们必须迭代。它们要可视化,然后再失败。迭代是最有价值的。你必须相信非工程师也才做得很好。”
虽然Spark可能要求较同的技术能力才能管理其后台的集群,但是开源技术的前端用户友好性相对较好。ApacheSpark带有一个Spark SQL库,它给用户提供了查询各种数据存储的工具,包括使用SQL、Java和R分析语言,而开发者甚至可以开发在Spark上更加简单的前端应用程序来使用这些工具。
内存技术提升应用速度
由于Spark在内存中处理数据,运行在环境中的任何应用都能受益于速度。它的发明者指出,它处理数据的速度要比MapReduce快100倍,后者是Hadoop原来的处理引擎,而且在内存中运行作业时,Spark的速度相当于在磁盘中运行的10倍速度。
Lau指出,对于技术一般的用户而言,这种速度是至关重要的。典型的数据用户并不喜欢那些需要10分钟才能处理完的作业。他们习惯了像谷歌这样几乎即时返回结果的查询服务。
Lau说:“你想要的是普及数据。你希望所有人都能够访问数据,然后形成他们自己的洞察力。速度是你现在唯一应该关心的问题。”
丰田汽车美国销售公司的高级数据科学家BrianKursar指出,Spark的速度帮助他和他的团队开发出广泛使用的报表,它们可以量化丰田品牌在社交媒体中的公共认知度。他们基于Spark的机器学习库(MLlib)内置的算法开发了一个机器学习应用程序。但是,它也经过了几次迭代才达到较高的精确度。
Kursar指出,快速完成这个过程,然后交付一个精确的结果,这种能力在帮助项目获得主管支持并将其结果应用于实践的过程中发挥着重要作用。
他说,“当你在开发一个产品时,你尝试改进模型的准确性,这时计算能力和速度不高的技术会影响你的发挥。”
NASA使用Spark实现数据访问
NASA喷气推进实验室的首席架构师Chris Mattmann指出,他和他的团队正在开发一个基于Spark的数据处理系统,它旨在帮助研究人员访问存储在分散文件系统中的数据。
NASA及其合作伙伴生成的许多科学数据位于不同的数据系统中,并且使用科学社区中专用的文件类型,一般的工具很难访问这些数据。此外,访问当前数据存储的研究人员在执行处理作业时耗时很长,因为每一个查询都需要从各个数据存储中拉取数据。所有数据都不在内存中。
但是,Spark的内存处理功能使客户端能够给研究人员提供快速的数据访问,无论他们使用哪一种前端工具都一样。
Mattmann说:“我们应该要能够以交互试执行这些查询。它应该能够执行ETL,然后自动地将数据加载到内存中。”