科学研究员们对大数据并不陌生。有些科学家可能要把80%到90%的时间用于梳理、校正和收集数据。在很多情况下,他们甚至还要编写自己的软件来执行那些数据项目。但是大数据的商业化已经开始说明这项技术将逐渐成为商业环境所需的重要技术了。
你或许已经听说过不少关于Apache的开源框架Hadoop的消息,它是一种基于Java的技术,利用谷歌的MapReduce编程模型来处理大数据集。但是如果你想要处理与大数据有关的问题,那你就必须知道上个世纪八十年代末被开发出来的、可读性极高的Python编程语言。Python支持Java和Ruby(上个世纪九十年代研发出来的一种通用编程语言),它是全球应用范围最广泛的编程语言之一。据ContinuumAnalytics的总裁PeterWang称,增加新的、能够作为一项服务提供的数据分析工具就可以解决大数据分析中的某些难题。
ContinuumAnalytics的开发人员对NumPy、SciPy、PyTables和Chaco库有着深刻地认识,他们正在协助推动Numba和Blaze等开源项目的开发。但是他们也能盈利。他们主要向投资银行、对冲基金、好莱坞后期效果制作公司等客户提供基于Python的大数据分析解决方案,美国国防高级研究项目管理局(DARPA)很快也将采用那些解决方案。
Wang表示,DARPA所面临的大数据难题与那些存在于标准商业环境中的大数据难题并没有太大的不同。Wang说:“区别只在于DARPA拥有更多的预算,而且他们愿意在先进技术上花钱。DARPA以前一直从十多家厂商那里购买分析工具,但是现在,大数据方面的问题并不是出在分析技术本身,而是如何高效地将数据归拢在一起,然后才能进行数据分析。”
ContinuumAnalytics为DARPA的项目提供了14位开发员。他们正在开发他们在开发可视化技术中需要使用的语言,尤其注重可扩展性、互动性和可扩展性,同时为非程序员最终用户提供一种概念模型。最后一点对于项目的成功非常重要,也是DARPA启动支持开源Python语言的项目的原因。
Wang表示:“许多传统的软件开发语言如C++和Java都源自于计算机科学,而且在以前的数十年里积累了大量的经验。Python是20年前开发出来的一种脚本语言,但是它最大的特点是这种语言具有很强的可扩展性。科学家们在大约12年前开始使用它来创建库,之后Python又被用于高性能计算领域。我们开发的是下一代科学Python分析工具,而且还打算将它作为一种软件型产品提供给企业用户。”
DARPA目前有大约20个不同的团队在开发XDATA项目。XDATA项目的目的是为了解决现代企业在大数据上面临的问题。
Wang表示:“DARPA让分析师们使用我们的工具。他们需要进行大规模的高级分析工作,但是最新的商业产品并不能满足那个水平的分析需求,因此他们才选用了Python。”
DARPA称,它想为用户们提供一套开源软件工具,以促成应用数学、计算机科学和数据可视化社区之间的协作,而且这必须是各种最终用户都能使用的才行。
它说:“如果一切进展顺利,它将成为一种允许人们以高效的方式对PB级数据进行大规模分析和可视化处理的系统。我们将在此基础上提供一种明确的观点,它是当前必须解决的一个非常大的难题。”
“DARPA的需求也许比这个行业一贯预想得更大一些,但是由于Python以及这种语言已经获得的投资,投资银行和其他重要客户似乎都考虑用Python来处理超大规模的数据。对于这些人来说,这不过是一场数字游戏而已。”