无论是在构建大数据的应用程序,还是仅仅只想从开发的移动应用中得到一点点启发,程序员现在比以往任何时候都需要数据分析工具。这绝对是一个好东西,所以很多公司从程序员的需求和技能出发,构建了一些数据分析工具。GigaOm的记者Derrick Harris列举了十二个工具,CSDN进行了编译整理:
在过去的几年里,Derrick看到了很多初创公司,各类项目以及开发工具等等,它们都旨在为程序员带来先进的数据分析能力。有时候,程序员们会使用简单的脚本开发出强大的显示效果,或者在开发过程中使用一种更简易的方式来实现数据的交付功能,Derrick相信这是一个很有意义的发展趋势。
在云计算和移动应用的世界里,围绕一个简单的应用开创一个新事业已经比以往要容易的多。甚至在大公司,开发者都在为推销应用或者推进应用的货币化而奋斗。不过在应用的开发过程中,开发者可能需要加入一些数据流,这样才能让应用“火”起来。
毋庸置疑,大多数程序员的工作都是围绕着铺天盖地的代码而绝非数据流。所以程序员们可能需要一点点帮助,Derrick为开发者列举了12种工具(按字母排序),不过他表示也可能会有遗漏一些不错的选择,如果细心的读者发现的话,请在文章评论中留言。
1. BitDeli
BitDeli是今年11月份在旧金山成立的一家初创公司。它能衡量出任何使用Python脚本的应用程序的指标,联合创始人兼CEO Ville Tuulos告诉Derrick,脚本可以很简单,也可以很复杂——甚至未来可以延伸到机器学习。不过和“重量级选手”Hadoop相比,BitDeli自认为是一个轻量级的Ruby。
2. Continuuity
Continuuity是前Yahoo首席云架构师Todd Papaioannou和Facebook HBase的工程师Jonathan Gray的心血结晶,Continuuity想让所有的公司都能像Yahoo、Facebook一样运营。该团队创建了一个大数据工具,它可以简化Hadoop以及HBase集群的复杂性,而且包含一系列开发套件,旨在帮助程序员开发大数据应用,该平台采用Hadoop技术,允许开发者在防火墙内外对大数据应用软件进行部署、扩展和管理。公司联合创始人兼首席执行官Todd Papaioannou表示,作为一家初创企业,Continuuity正在试图掀起下一波大数据应用软件的浪潮,公司所提供的工具能够大大提高处于开发状态的软件不同部分与阶段的扩展性。
3. Flurry
Flurry是移动应用统计分析领域里的标杆,正因为在行业内独特的优势,它每年的营收高达一亿美元。Flurry拥有非常全面的功能,不仅仅只是帮助开发者构建移动应用,它还帮助开发者分析所有的数据,进而产生更大的效益。其实数据也支撑了该公司的广告网络,他们通过数据分析可以帮助开发者推送准确的广告到需要的用户面前。不过单纯从移动应用的数据统计功能来看,Flurry绝对是处于领先地位。其功能模块设置合理,分析维度全面,分析流程也易于理解。
4. Google Prediction API
Google Prediction API可能是最酷的工具了!Google Prediction API是一个基于云服务的机器学习工具,它可以帮助开发者分析数据,并为应用程序加入情感分析、反垃圾邮件、追加销售分析、识别可疑活动和诊断等功能。 这套API支持众多编程语言,比如.NET、Go 、Java、PHP、Ruby、Python、JavaScript、Objective-C以及应用脚本语言等。Google的开发者主页提供了相关的培训和开发指南,读者可以访问Prediction API介绍页面进行学习。
5. Infochimps
尽管Infochimps非常努力的想让自己成为一家企业级的IT公司,但是显然还有一定的差距。不过与公司同名的平台的确为开发者们带来了真正的价值。配置和管理大数据环境的工具称之为Wukong——这是一个基于Ruby的命令行界面,开发者可以编写大数据应用调用Data Delivery Service或Hadoop,使用的语法也非常简单,开发者无需学习MapReduce或者Flume。Infochimps的首席战略官Dhruv Bansal介绍:常见的情况是,客户用Infochimps的平台开发程序处理分析数据,只有在需要批量分析海量数据时才会用到Hadoop。基于这种经验,他们的新版本关注的重点是对数据的实时处理功能(而不是Hadoop)。
6. Keen IO
Keen IO赢得了Structure 2012 Launchpad的比赛,该赛事致力于为移动开发者提供强大的分析工具。开发者仅需要把一行代码插入到指定的追踪位置,该公司同时表示,开发者可以追踪他们应用程序中的任意代码。如果是这样的话,只需要再创建一个显示面板或者查询进程就可以把所有的数据转化成有用的信息。
7. Kontagent
Kontagent的基本业务主要是靠对移动、社交以及Web应用的分析平台,不过这一切都是建立在Hadoop基础设施之上。在今年的早些时候,该公司扩展了一项新业务:使用Hive打造了一个数据挖掘服务,并且提供了一个类似SQL的接口进行查询存储在Hadoop上的数据,取代了追踪预定义变量,他们可以对选择项进行更深入的挖掘。
8. Mortar Data
Mortar Data宣称“Hadoop,没有复杂性”。该公司提供了自己的云服务——整合了Pig和Python进而取代了MapReduce——已经有一年的时间了。在11月份,它发布了一个开源的Mortar框架旨在构建一个社区,这样不仅有利于成员之间共享数据集,也让构建Hadoop管道变得更容易。Mortar Data在AWS之上运行,目前支持来自Amazon S3以及MongoDB(托管在Amazon EC2之上)的数据源。
9. Placed Analytics
Placed“干掉”了脚本、API还有其他需要开发者“跑腿”的工作,仅仅是交付结果。在Placed的案例中,结果显示的都是一些细节性信息,例如在何时何地,用户使用了移动应用以及Web站点。这种类型的信息对吸引广告商非常有帮助,同时也有助于应用的设计。
10. Precog
点击 观看相关视频
Precog提供了一项服务Labcoat,它是一个交互式的开发环境,可以用来编写基于开源的Quirrel(由Precog实现的统计查询语言,Quirrel很多方面都与R编程语言比较相似)查询语言的分析工作,该集成开发环境包含了一个语言学习教程以及一些复杂的函数。Precog的COO告诉Derrick,即使没有任何编程经验的人也能在几个小时内学会操作。
Precog可以从各种数据源抓取输入数据,其中包括SQL数据库、Amazon S3、Hadoop、MongoDB、客户端Web应用和后端服务器等。RESTful API支持开发者从外部源(如Twitter或Facebook)、CSV文件或移动设备抓取数据。抓取的数据保存到一个叫做PrecogDB的定制数据库中,而且还可以使用人群统计、态度、位置和其他信息,使数据更为丰富。在一次采访中,Precog的CEO和创始人John A.De Goes解释到:“系统的架构与数据库分析有些相似,比如都包括面向列的存储。但是其区别在于:前者支持完全异构的、非规范化的数据,通过对Quirrel的支持,相对于使用RDBMS进行分析,使用这种类似于“面向大数据的R”的语言,能够很方便地执行很多更为高级的计算。”(信息来源于infoQ)
11. Spring for Apache Hadoop
点击 观看视频
虽然Hadoop是用Java语言编写,但是对Java开发者来说,并不意味着容易学习或者使用。在2012年的早些时候,SpringSource宣布把Spring框贡献给Apache Hadoop项目,这就让使用Spring框架构建Java应用程序变得更容易,不过这也意味着整合了其他的Spring框架应用,使用了基于JVM的脚本以及使用Hadoop或者相关的技术如Hive、HBase来进行开发应用程序变得更容易。
12. StatsMix
StatsMix与BitDeli以及Keen IO算得上是一脉相承,StatsMix也是想实现对开发者使用的编程语言进行应用数据的搜集和分析。该服务可以自动追踪特定的指标,但是需要开发者添加StatsMix API以及预先确定代码库。最终的结果将通过一个用户自定义的显示面板呈现出来,用户不仅可以在其上进行分享,也可以把多个数据源整合成一张简单的视图。(编译/@CSDN王鹏,审校/仲浩)