驯服大数据的7个顶级工具
帮助您驾驭Hadoop的一流的报告、分析、可视化、集成和开发工具
的洪水摧毁了泰国的硬盘产业现在已经半年了,每兆兆字节的价格终于再次下降。这意味着数据将开始堆积,办公室周围的人会想知道可以用这些数据做什么。也许其中有一些深刻的见解日志文件吗?也许通过一点统计分析就能在这些噪音中发现一些金块?也许我们能在这些文件的沙发垫里找到足够的零钱给我们加薪?
这个行业现在有个流行词,”大数据我们如何处理堆积如山的海量信息。“大数据”正在取代“商业智能”,后者包含了“报告”,后者给“电子表格”增添了更好的光泽,后者击败了老式的“打印输出”。Managers who long ago studied printouts are now hiring mathematicians who claim to be big data specialists to help them solve the same old problem: What's selling and why?
[另一个是InfoWorld:企业Hadoop:大数据处理变得更加简单与InfoWorld一起探讨BI的当前趋势和解决方案交互式商业智能iGuide。了解业务应用程序的新功能资讯世界科技:应用通讯。]
这是不公平的建议,这些流行语是简单的替代彼此。大数据是一个更加复杂的世界,因为它的规模要大得多。信息通常分布在许多服务器上,数据的编译工作必须在这些服务器之间进行协调。在过去,这项工作主要委托给数据库软件,该软件将使用其神奇的连接机制来编译表,然后在将矩形数据提交给报告软件进行分页之前将列相加。这通常比听起来要难。数据库程序员可以告诉你一些关于复杂的JOIN命令的故事,这些命令会在试图为老板生成报告时将他们的数据库锁上几个小时,因为老板希望他的专栏正好如此。
现在的游戏已经大不一样了。Hadoop是组织机架和机架服务器的流行工具,以及NoSQL数据库是在这些机架上存储数据的常用工具。这些机制可能比旧的单台机器强大得多,但它们远没有老的数据库服务器那么完善。尽管SQL可能很复杂,但为SQL数据库编写连接查询通常比从几十台机器收集信息并将其编译成一个一致的答案要简单得多。Hadoop作业是用Java编写的,这需要另一种复杂程度。处理大数据的工具刚刚开始以一种更容易使用的方式打包这种分布式计算能力。
许多大数据工具也在使用NoSQL数据存储。它们比传统的关系数据库更加灵活,但是这种灵活性与过去的Hadoop相比并没有太大的不同。NoSQL查询可以更简单,因为数据库设计不鼓励使用复杂的表格结构,而表格结构会增加使用SQL的复杂性。主要的担忧是,软件需要预测并非每一行都有对应每一列的数据的可能性。
最大的挑战可能是如何应对主要电影《点球成金》所建立起来的期望。All the bosses have seen it and absorbed the message that some clever statistics can turn a small-budget team into a World Series winner. Never mind that the Oakland Athletics never won the World Series during the "Moneyball" era. That's the magic of Michael Lewis' prose. The bosses are all thinking, "Perhaps if I can get some good stats, Hollywood will hire Brad Pitt to play me in the movie version."
这个集合中的任何软件都无法诱使Brad Pitt向他的代理索要用于Hadoop作业的电影版本的脚本副本。这必须来自于你或其他参与项目的人的内心。理解数据并找到正确的问题通常比让Hadoop作业快速运行要复杂得多。这确实很重要,因为这些工具只是工作的一半。
为了对这个领域的前景有所了解,我下载了一些大数据工具,把它们混在数据中,然后盯着那些答案,以获得爱因斯坦级别的洞察力。这些信息来自销售我的一些书的网站(wayner.org)的日志文件,我想知道什么书卖得好,为什么卖得好。所以我打开软件,问了一些问题。
大数据工具:Jaspersoft BI套件Jaspersoft包是用于从数据库列生成报告的开放源码领先者之一。该软件已经被很好地完善,并且已经安装在许多企业中,可以将SQL表转换为pdf,每个人都可以在会议上仔细查看。
该公司正在搭乘大数据列车,这意味着增加一个软件层,将其报表生成软件连接到大数据存储的地方。JasperReports服务器现在提供了从许多主要存储平台收集数据的软件,包括MongoDB,卡珊德拉、复述、RiakCouchDB, Neo4j。Hadoop也得到了很好的表现,JasperReports提供了一个可以进入HBase内部的Hive连接器。
这项工作似乎还处于起步阶段——文档wiki的许多页面是空白的,工具也没有完全集成。例如,可视化查询设计器还不能与Cassandra的CQL一起工作。您可以手动输入这些查询。
一旦您从这些来源获得数据,Jaspersoft的服务器将把它归结为交互式表和图表。报表可以是非常复杂的交互式工具,可以让您深入到各个角落。如果你需要的话,你可以问更多的细节。
这是软件世界中开发良好的一个角落,而且Jaspersoft正在扩展,通过更新的数据源更容易地使用这些复杂的报告。Jaspersoft并没有提供查看数据的新方法,只是提供了访问存储在新位置的数据的更复杂的方法。我发现这非常有用。我收集的数据足以让我了解谁在访问这个网站,以及他们什么时候访问这个网站。
大数据工具:Pentaho商业分析Pentaho是另一个软件平台,最初是一个报告生成引擎;就像JasperSoft一样,它通过更容易地从新来源吸收信息而扩展到大数据。你可以将Pentaho的工具与许多最流行的NoSQL数据库连接起来,比如MongoDB和Cassandra。连接数据库之后,可以将列拖放到视图和报告中,就像信息来自SQL数据库一样。
我发现经典的分类和筛选表是非常有用的了解谁花了最多的时间在我的网站。简单地按照日志文件中的IP地址进行排序就可以显示出重度用户正在做什么。
Pentaho还提供了从Hadoop集群中绘制HDFS文件数据和HBase数据的软件。其中一个比较有趣的工具是图形化编程界面,称为Kettle或Pentaho数据集成。它有一堆内置模块,你可以拖放到图片上,然后连接它们。Pentaho已经将Hadoop和其他源代码完全集成到其中,因此您可以编写代码并将其发送出去在集群上执行。
大数据工具:Karmasphere Studio和分析师许多大数据工具一开始并不是报告工具。例如,Karmasphere Studio就是在其上构建的一组插件Eclipse。它是一个专门的IDE,使创建和运行Hadoop作业变得更容易。
当我开始使用这个开发人员工具配置Hadoop工作时,我有一种难得的喜悦。在Hadoop作业的生命周期中有许多阶段,Karmasphere的工具将指导您完成每个步骤,并展示整个过程的部分结果。我想调试器总是使我们能够在机制工作时查看它,但是Karmasphere Studio做得更好一些:当您设置工作流时,这些工具会在每一步显示测试数据的状态。您可以看到临时数据在被分割、分析、然后减少时的样子。
Karmasphere还分发了一个名为Karmasphere Analyst的工具,该工具旨在简化Hadoop集群中所有数据的处理过程。它提供了许多有用的构建块来编写好的Hadoop工作,比如用于解压缩日志文件的子程序。然后,它将它们串在一起,并对Hive调用进行参数化,以生成供阅读的输出表。
大数据工具:Talend Open StudioTalend还提供了一个基于eclipse的IDE,用于将数据处理作业与Hadoop绑定在一起。它的工具旨在帮助进行数据集成、数据质量和数据管理,所有的子程序都针对这些任务进行了调优。
了Talend Studio允许你通过拖放小图标到画布上建立你的工作。如果你想获得一个RSS feed,Talend的组件将获取RSS并在必要时添加代理。有几十个部件的收集信息,数十人做事情,比如“模糊匹配”。然后你可以将结果输出。
在您了解了组件实际做什么和不做什么之后,可视化地将模块串在一起可以很简单。当我开始查看在画布后面组装的源代码时,这对我来说更容易理解。Talend让你看到了这一点,我认为这是一个理想的妥协。可视化编程似乎是一个崇高的目标,但我发现图标永远不能以足够的细节来表示机制,从而使理解正在发生的事情成为可能。我需要源代码。
Talend还维护着TalendForge,这是一个开源扩展集合,它使TalendForge与公司的产品一起工作更加容易。大多数工具似乎是将Talend的软件链接到Salesforce.com和SugarCRM等其他主要产品的过滤器或库。您可以将这些系统中的信息吸收到您自己的项目中,从而简化集成。
大数据工具:Skytree服务器并不是所有的工具都被设计成用可视化机制更容易地将代码串在一起。Skytree提供了一个执行许多更复杂的机器学习算法的包。只需在命令行中输入正确的命令即可。
Skytree更专注于内脏而不是闪亮的GUI。Skytree服务器经过优化,可以在数据上运行许多经典的机器学习算法,使用该公司声称可以比其他软件包快1万倍的实现。它可以搜索您的数据,寻找数学上相似的项目集群,然后将其倒置,以识别可能是问题、机会或两者兼而有的异常值。算法可以比人类更精确,它们可以在大量数据中搜索有点不寻常的条目。这可能是欺诈,也可能是一个会不停花钱的特别好的客户。
该软件的免费版本提供了与专有版本相同的算法,但仅限于100,000行数据集。这应该足以确定该软件是否匹配良好。
大数据工具:桌面和服务器Tableau Desktop是一个可视化工具,它可以让你轻松地以新的方式查看你的数据,然后切片,以不同的方式查看它。您甚至可以将这些数据与其他数据混合,以另一种方式对其进行检查。该工具经过优化,可以为数据提供所有列,并允许在将数据填充到所提供的几十个图形模板中之前混合它们。
Tableau软件在几个版本之前就开始接受Hadoop了,现在你可以像对待任何数据连接一样对待Hadoop了。Tableau relies upon Hive to structure the queries, then tries its best to cache as much information in memory to allow the tool to be interactive. While many of the other reporting tools are built on a tradition of generating the reports offline, Tableau wants to offer an interactive mechanism so that you can slice and dice your data again and again. Caching helps deal with some of the latency of a Hadoop cluster.
该软件是良好的抛光和美观。我经常发现自己重新研究数据只是为了在另一个图表中看到它,尽管从饼状图转换到柱状图或其他形式并没有什么新东西可学。软件团队显然包括一些有艺术天赋的人。
大数据工具:昙花一现Splunk与其他选项略有不同。它并不是一个报告生成工具,也不是一个AI例程的集合,尽管它在这个过程中完成了很多。它为您的数据创建索引,就好像您的数据是一本书或一段文本。是的,数据库也构建索引,但是Splunk的方法更接近于文本搜索过程。