阅读更多
Bossie奖是知名英文IT网站InfoWorld针对开源软件颁发的年度奖项,根据这些软件对开源界的贡献,以及在业界的影响力评判获奖对象。本次InfoWorld评选出了22款最佳的开源大数据工具,像Spark、Storm都名列榜单之上。



InfoWorld在分布式数据处理、流式数据分析、机器学习以及大规模数据分析领域精选出了2015年的开源工具获奖者,下面我们来简单介绍下这些获奖的技术工具。

1. Spark



在Apache的大数据项目中,Spark是最火的一个,特别是像IBM这样的重量级贡献者的深入参与,使得Spark的发展和进步速度飞快。

与Spark产生最甜蜜的火花点仍然是在机器学习领域。去年以来DataFrames API取代SchemaRDD API,类似于R和Pandas的发现,使数据访问比原始RDD接口更简单。

Spark的新发展中也有新的为建立可重复的机器学习的工作流程,可扩展和可优化的支持各种存储格式,更简单的接口来访问机器学习算法,改进的集群资源的监控和任务跟踪。

在Spark1.5的默认情况下,TungSten内存管理器通过微调在内存中的数据结构布局提供了更快速的处理能力。最后,新的spark-packages.org网站上有超过100个第三方贡献的链接库扩展,增加了许多有用的功能。

2. Storm



Storm是Apache项目中的一个分布式计算框架项目,主要应用于流式数据实时处理领域。他基于低延时交互模式理念,以应对复杂的事件处理需求。和Spark不同,Storm可以进行单点随机处理,而不仅仅是微批量任务,并且对内存的需求更低。在我的经验中,他对于流式数据处理更有优势,特别是当两个数据源之间的数据快速传输过程中,需要对数据进行快速处理的场景。

Spark掩盖了很多Storm的光芒,但其实Spark在很多流失数据处理的应用场景中并不适合。Storm经常和Apache Kafka一起配合使用。

3. H2O



H2O是一种分布式的内存处理引擎用于机器学习,它拥有一个令人印象深刻的数组的算法。早期版本仅仅支持R语言,3.0版本开始支持Python和Java语言,同时它也可以作为Spark在后端的执行引擎。

使用H2O的最佳方式是把它作为R环境的一个大内存扩展,R环境并不直接作用于大的数据集,而是通过扩展通讯协议例如REST API与H2O集群通讯,H2O来处理大量的数据工作。

几个有用的R扩展包,如ddply已经被打包,允许你在处理大规模数据集时,打破本地机器上内存容量的限制。你可以在EC2上运行H2O,或者Hadoop集群/YARN集群,或者Docker容器。用苏打水(Spark+ H2O)你可以访问在集群上并行的访问Spark RDDS,在数据帧被Spark处理后。再传递给一个H2O的机器学习算法。

4. Apex



Apex是一个企业级的大数据动态处理平台,即能够支持即时的流式数据处理,也可以支持批量数据处理。它可以是一个YARN的原生程序,能够支持大规模、可扩展、支持容错方法的流式数据处理引擎。它原生的支持一般事件处理并保证数据一致性(精确一次处理、最少一次、最多一次)

以前DataTorrent公司开发的基于Apex的商业处理软件,其代码、文档及架构设计显示,Apex在支持DevOps方面能够把应用开发清楚的分离,用户代码通常不需要知道他在一个流媒体处理集群中运行。

Malhar是一个相关项目,提供超过300种常用的实现共同的业务逻辑的应用程序模板。Malhar的链接库可以显著的减少开发Apex应用程序的时间,并且提供了连接各种存储、文件系统、消息系统、数据库的连接器和驱动程序。并且可以进行扩展或定制,以满足个人业务的要求。所有的malhar组件都是Apache许可下使用。

5. Druid



Druid在今年二月转为了商业友好的Apache许可证,是一个基于“事件流的混合引擎,能够满足OLAP解决方案。最初他主要应用于广告市场的在线数据处理领域,德鲁伊可以让用户基于时间序列数据做任意和互动的分析。一些关键的功能包括低延迟事件处理,快速聚合,近似和精确的计算。

Druid的核心是一个使用专门的节点来处理每个部分的问题自定义的数据存储。实时分析基于实时管理(JVM)节点来处理,最终数据会存储在历史节点中负责老的数据。代理节点直接查询实时和历史节点,给用户一个完整的事件信息。测试表明50万事件数据能够在一秒内处理完成,并且每秒处理能力可以达到100万的峰值,Druid作为在线广告处理、网络流量和其他的活动流的理想实时处理平台。

6. Flink



Flink的核心是一个事件流数据流引擎。虽然表面上类似Spark,实际上Flink是采用不同的内存中处理方法的。首先,Flink从设计开始就作为一个流处理器。批处理只是一个具有开始和结束状态的流式处理的特殊情况,Flink提供了API来应对不同的应用场景,无论是API(批处理)和数据流API。MapReduce的世界的开发者们在面对DataSet处理API时应该有宾至如归的感觉,并且将应用程序移植到Flink非常容易。在许多方面,Flink和Spark一样,其的简洁性和一致性使他广受欢迎。像Spark一样,Flink是用Scala写的。

7. Elasticsearch



Elasticsearch是基于Apache Lucene搜索分布式文件服务器。它的核心,Elasticsearch基于JSON格式的近乎实时的构建了数据索引,能够实现快速全文检索功能。结合开源Kibana BI显示工具,您可以创建令人印象深刻的数据可视化界面。

Elasticsearch易于设置和扩展,他能够自动根据需要使用新的硬件来进行分片。他的查询语法和SQL不太一样,但它也是大家很熟悉的JSON。大多数用户不会在那个级别进行数据交互。开发人员可以使用原生JSON-over-HTTP接口或常用的几个开发语言进行交互,包括Ruby,Python,PHP,Perl,Java,JavaScript等。

8. SlamData



如果你正在寻找一个用户友好的工具,能理解最新流行的NoSQL数据的可视化工具,那么你应该看一看SlamData。SlamData允许您用熟悉的SQL语法来进行JSON数据的嵌套查询,不需要转换或语法改造。

该技术的主要特点之一是它的连接器。从MongoDB,HBase,Cassandra和Apache的Spark,SlamData同大多数业界标准的外部数据源可以方便的进行整合,并进行数据转换和分析数据。你可能会问:“我不会有更好的数据池或数据仓库工具吗?请认清这是在NoSQL领域。

9. Drill



Drill是一种用于大型数据集的交互分析的分布式系统,由谷歌的Dremel催生。Drill专为嵌套数据的低延迟分析设计,它有一个明确的设计目标,灵活的扩展到10000台服务器来处理查询记录数据,并支持兆级别的数据记录。

嵌套的数据可以从各种数据源获得的(如HDFS,HBase,Amazon S3,和Blobs)和多种格式(包括JSON,Avro,和buffers),你不需要在读取时指定一个模式(“读时模式”)。

Drill使用ANSI 2003 SQL的查询语言为基础,所以数据工程师是没有学习压力的,它允许你连接查询数据并跨多个数据源(例如,连接HBase表和在HDFS中的日志)。最后,Drill提供了基于ODBC和JDBC接口以和你所喜欢的BI工具对接。

10. HBASE



HBase在今年的里程碑达到1.X版本并持续改善。像其他的非关系型的分布式数据存储一样,HBase的查询结果反馈非常迅速,因此擅长的是经常用于后台搜索引擎,如易趣网,博科和雅虎等网站。作为一个稳定的、成熟的软件产品,HBase新鲜的功能并不是经常出现,但这种稳定性往往是企业最关心的。

最近的改进包括增加区域服务器改进高可用性,滚动升级支持,和YARN的兼容性提升。在他的特性更新方面包括扫描器更新,保证提高性能,使用HBase作为流媒体应用像Storm和Spark持久存储的能力。HBase也可以通过Phoenix项目来支持SQL查询,其SQL兼容性在稳步提高。Phoenix最近增加了一个Spark连接器,添加了自定义函数的功能。

第11—20名分别是:
引用
Hive、Kylin、CDAP、Ranger、Mesos、NiFi、Kafka、OpenTSDB、Jupyter、Zeppelin。

原文链接:Bossie Awards 2015: The best open source big data tools(译者/张晓东 审校/朱正贵 责编/仲浩)

译者简介:张晓东,引跑科技副总裁,关注云计算领域。
  • 大小: 21.4 KB
  • 大小: 28.9 KB
  • 大小: 33.5 KB
  • 大小: 29.6 KB
  • 大小: 25.7 KB
  • 大小: 16.6 KB
  • 大小: 27.9 KB
  • 大小: 29.8 KB
  • 大小: 25.1 KB
  • 大小: 24.8 KB
  • 大小: 27.4 KB
3
0
评论 共 1 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • jQuery日程管理插件fullcalendar使用详解

    FullCalendar用来做日程管理功能非常强大,但是唯一不足的地方是没有将中国农历历法加进去,今天我将结合实例和大家分享如何将中国农历中的节气和节日整合到FullCalendar中,从而增强其实用性。 HTML 首先是要载入jQuery库和fullcalendar插件。 [removed][removed] [removed][removed] 然后在body中,建立日历容器div#calendar。 jQuery 使

  • jquery日历控件

    Jquery日历控件合集 FullCalendar FullCalendar是很出名的jQuery日历插件,它支持拖拽等功能,整合了Google Calendar,而且可以通过JSON来绑定事件,设计师可以轻松地自定义日历样式,工程师则利用它提供的接口来处理用户触发事件。 2. Astonishing iCal-like Calendar 这里是一篇教程,教你如何利用j...

  • 我们为什么来到这个世界上?

     几月前,在清华大学初次见到正在演讲的黄金雄教授,虽然通过吴莹莹的介绍,《程序员》早在数年前就已和黄教授有过联系,但这却是第一次双方面对面的深入沟通。话题较为宽泛,从架构师的实践到当前的软件培训和教育,希望以后有机会能让读者阅读到更多黄教授的专业文章。知道他最近出版了一本书《为什么时光不能倒流》,拿到书时让我吃了一惊。我的想像中她应该是一本充满数学、计算机、哲学味道的哲理书,却没想到,竟是

  • 超酷的日程安排Jquery插件

    这是一款功能超强大的插件,它可以自由管理自己的日程安排,有3种模式,分别为日,周,月,这样的话管理起来就非常清晰,如果想要保存数据,那就要配合后台程序了,方便网友们二次开发

  • Jquery 日程控件

    基于JQuery实现的google like的日程视图 支持,日,周,月三种视图 支持快速新增、快速修改,拖拽更新日程时间。

  • Jquery日程安排

    Jquery日程安排

  • fullcalendar 日程插件demo使用

    效果图 HTML<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <c:set var="ctx" value="${pageConte

  • 使用FullCalendar做一个自己的日程管理(一)- 基础篇

    FullCalendar is a drag-n-drop jQuery plugin for displaying events on a full-sized calendar. Github地址:https://github.com/fullcalendar/fullcalendar官网地址:http://fullcalendar.io/引入依赖的JS和CSS由于 FullCalendar 自

  • jquery fullcalendar 日历日程插件使用

    先上效果: (今天好像传不了图片,下次补) 前台代码: function openUrl(id){ try { if(top!=this) { self.parent.addTabRecordView(id); } else { window.open("Record

  • (jQuery,java)日程管理插件

    除了羡慕Google的日程管理外,还羡慕xgCalendar,不过无奈的是google没有开源,xgcalendar没有详细的API说明,最后终于看到一个老外写的fullcalendar的插件,同样可以实现日程管理。并且带有详细的API说明 地址:http://arshaw.com/fullcalendar/ 效果: 下面说明一下使用方法,即最主要的API 熟悉jQuery插件使用方式...

  • js jquery 实现 排班,轮班,日历,日程。使用fullcalendar 插件

    如果想用fullcalendar实现排班功能,或者日历、日程功能。那么只需要简单的几步: 这里先挂官网链接: fullcalendar fullcalendar官网下载链接 一、下载及简单配置 1、这里先明确你想要的是哪种形式式:fullcalendar 提供多种日历形式: 你们可以在官网首页的演示里面看到,在这里我主要讲一下我这里使用的两种实现: (1)日历模式(只是用fullc

  • Jquery 日程安排 fullcalender 的使用

    最近项目要用到日程管理,网上搜索了一下,先一下效果图: 点击每个日程事件的效果图,如下: 其他的 不多说了,上源代码吧: 1,、Javascript代码: &amp;lt;link href=&quot;Styles/jquery.autocomplete.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot; /&amp;gt; &amp;lt;link rel='styleshee...

  • Jquery_FullCalendar日历插件

    FullCalendar是一款基于jQuery的日历插件,适用于各种日程安排、工作计划等场景,您可以很方便的查看查看待办事项,标记重要事项以及绑定点击和拖动事件,能快速的整合到您的项目中,本文将简单介绍FullCalendar的使用。 查看演示DEMO下载源码 HTML 首先第一步就是在需要调用FullCalendar日历的页面中载入必要的javascript和css文件

  • JS实现日程安排 日程安排插件

    代码: &lt;%@ Page Language="C#" AutoEventWireup="true" CodeBehind="EmpWeekPlan.aspx.cs" Inherits="Aepri.InfoDev.DPP.Web.PlanManage.EmpWeekPlan" %&gt; &lt;!DOCTYPE html&gt; &lt;html xmlns=...

  • js/web 日程管理 插件

    fullcalendar是一款jQuery日程管理控件,提供了丰富的属性设置和方法调用,官网下载地址http://fullcalendar.io/download,目前最新版本是2.3.2。 只要调用$('#calendar').fullcalendar(options)即可初始化,初始化配置中events、eventSources、select和eventClick是必须设置项。 event

Global site tag (gtag.js) - Google Analytics