安徽福彩网
商学院

2015年全球最佳开源大数据工具

作者:四川 来源:官网 时间:2018-11-27

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和ApacheSpark,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. Hive 随着Hive过去多年发展,逐步成熟,今年发布了1.0正式版本,它用于基于SQL数据仓库领域。目前基金会主要集中在提升性能、可扩展性和SQL兼容性。最新1.2版本显著提升了ACID语意兼容性、跨数据中心复制,以及以成本为基础优化器。 Hive1.2也带来了改进SQL兼容性,使组织利用它更容易把从现有数据仓库通过ETL工具进行转移。在规划中讲主要改进:以内存缓存为核心速度改进 LLAP,Spark机器学习库集成,提高SQL前嵌套子查询、中间类型支持等。 12. Kylin Kylin是eBay开发用于处理非常大量数据OLAP分析系统,他使用标准SQL语法,和很多数据分析产品很像。Kylin使用Hive和MR来构建立方体,Hive用作预接,MR用作预聚合,HDFS用来储存构建立方体时中间文件,HBase用来存储立方体,HBasecoprocessor(协处理器)用来响应查询。 像大多数其他分析应用一样,Kylin支持多种访问方法,包括JDBC,ODBC API进行编程访问以及REST API接口。 13. CDAP CDAP(Cask Data Access Platform)是一个在Hadoop之上运行框架,抽象了建造和运行大数据应用复杂性。CDAP围绕两个核心概念:数据和应用程序。CDAP数据集是数据逻辑展现,无论底层存储层是什么样;CDAP提供实时数据流处理能力。 应用程序使用CDAP服务来处理诸如分布式事务和服务发现等应用场景,避免程序开发者淹没在Hadoop底层细节中。CDAP自带数据摄取框架和一些预置应用和一些通用“包”,例如ETL和网站分析,支持测试,调试和安全等。和大多数原商业(闭源)项目开源一样,CDAP具有良好文档,教程,和例子。 14. Ranger 安全一直是Hadoop一个痛处。它不是说(像是经常报道)Hadoop是“不安全”或“不安全”。事实是,Hadoop有很多安全功能,虽然这些安全功能都不太强大。我意思是,每一个组件都有它自己身份验证和授权实施,这与其他平台没有集成。 2015年5月,Hortonworks收购XA /安全,随后经过了改名后,我们有了Ranger。Ranger使得许多Hadoop关键部件处在一个保护伞下,它允许你设置一个“策略”,把你Hadoop安全绑定到到您现有ACL基于活动目录身份验证和授权体系下。Ranger给你一个地方管理Hadoop访问控制,通过一个漂亮页面来做管理、审计、加密。 15. Mesos Mesos提供了高效、跨分布式应用程序和框架资源隔离和共享,支持Hadoop、 MPI、Hypertable、Spark等。 Mesos是Apache孵化器中一个开源项目,使用ZooKeeper实现容错复制,使用Linux Containers来隔离任务,支持多种资源计划分配(内存和CPU)。提供Java、Python和C++ APIs来开发新并行应用程序,提供基于Web用户界面来提查看集群状态。 Mesos应用程序(框架)为群集资源协调两级调度机制,所以写一个Mesos应用程序对程序员来说感觉不像是熟悉体验。虽然Mesos是新项目,成长却很快。 16. NiFi Apache NiFi 0.2.0 发布了,该项目目前还处于 Apache 基金会孵化阶段。Apache NiFi 是一个易于使用、功能强大而且可靠数据处理和分发系统。Apache NiFi 是为数据流设计。它支持高度可配置指示图数据路由、转换和系统中介逻辑。 Apache NiFi是由美国过国家安全局(NSA)贡献给Apache基金会开源项目,其设计目标是自动化系统间数据流。基于其工作流式编程理念,NiFi非常易于使用,强大,可靠及高可配置。两个最重要特性是其强大用户界面及良好数据回溯工具。 NiFi用户界面允许用户在浏览器中直观理解并与数据流举行交互,更快速和安全进行迭代。 其数据回溯特性允许用户查看一个对象如何在系统间流转,回放以及可视化关键步骤之前之后发生情况,包括大量复杂图式转换,fork,join及其他操作等。 另外,NiFi使用基于组件扩展模型以为复杂数据流快速增加功能,开箱即用组件中处理文件系统包括FTP,SFTP及HTTP等,同样也支持HDFS。 NiFi获得来来自业界一致好评,包括Hortonworks CEO,Leverage CTO及Prescient Edge首席系统架构师等。 17. Kafka 在大数据领域,Kafka已经成为分布式发布订阅消息事实标准。它设计允许代理支持成千上万客户在信息吞吐量告诉处理时,同时通过分布式提交日志保持耐久性。Kafka是通过在HDFS系统上保存单个日志文件,由于HDFS是一个分布式存储系统,使数据冗余拷贝,因此Kafka自身也是受到良好保护。 当消费者想读消息时,Kafka在中央日志中查找其偏移量并发送它们。因为消息没有被立即删除,增加消费者或重发历史信息不产生额外消耗。Kafka已经为能够每秒发送2百万个消息。尽管Kafka版本号是sub-1.0,但是其实Kafka是一个成熟、稳定产品,使用在一些世界上最大集群中。 18.OpenTSDB opentsdb是建立在时间序列基础上HBase数据库。它是专为分析从应用程序,移动设备,网络设备,和其他硬件设备收集数据。它自定义HBase架构用于存储时间序列数据,被设计为支持快速聚合和最小存储空间需求。 通过使用HBase作为底层存储层,opentsdb很好支持分布与系统可靠性特点。用户不与HBase直接互动;而数据写入系统是通过时间序列守护进程(TSD)来管理,它可以方便扩展用于需要高速处理数据量应用场景。有一些预制连接器将数据发布到opentsdb,并且支持从Ruby,Python以及其他语言客户端读取数据。opentsdb并不擅长交互式图形处理,但可以和第三方工具集成。如果你已经在使用HBase和想要一个简单方法来存储事件数据,opentsdb也许正好适合你。 19. Jupyter 大家最喜欢笔记应用程序都走了。jupyter是“IPython”剥离出来成为一个独立软件包语言无关部分。虽然jupyter本身是用Python写,该系统是模块化。现在你可以有一个和iPython一样界面,在笔记本电脑中方便共享代码,使得文档和数据可视化。 至少已经支持50个语言内核,包括Lisp,R,F #,Perl,Ruby,Scala等。事实上即使IPython本身也只是一个jupyter Python模块。通过REPL(读,评价,打印循环)语言内核通信是通过协议,类似于nrepl或Slime。很高兴看到这样一个有用软件,得到了显著非营利组织资助,以进一步发展,如并行执行和多用户笔记本应用。 20. Zeppelin Zeppelin是一个Apache孵化项目. 一个基于web笔记本,支持交互式数据分析。你可以用SQL、Scala等做出数据驱动、交互、协作文档。(类似于ipython notebook,可以直接在浏览器中写代码、笔记并共享)。 一些基本图表已经包含在Zeppelin中。可视化并不只限于SparkSQL查询,后端任何语言输出都可以被识别并可视化。 Zeppelin 提供了一个 URL 用来仅仅展示结果,那个页面不包括 Zeppelin 菜单和按钮。这样,你可以轻易地将其作为一个iframe集成到你网站。 Zeppelin还不成熟。我想把一个演示,但找不到一个简单方法来禁用“Shell”作为一个执行选项(在其他事情)。然而,它已经看起来视觉效果比IPython笔记本应用更好,Apache Zeppelin (孵化中) 是 Apache2 许可软件。提供100%开源。

自 csdn

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源; 2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任; 3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 全国零售联合会:调查发现美国消费者在即将...

  • DCCI:2015年好搜移动用户研究报告

  • 24/7wallst: 2015财年全球...

  • Topdigital&妈妈帮:...

  • 商业模式 | O2O电商外卖模式下重复消...

  • Counterpoint:2015年9月...

  • 十张图看懂三星为何被苹果越甩越远?——信...

  • 希尔顿酒店财报:2015年Q3希尔顿净利...