大数据技术人员工具包最全集合
数据科学融合了多门学科并且建立在这些学科的理论和技术之上,包括数学、概率模型、统计学、机器学习、数据仓库、可视化等。在实际应用中,数据科学包括数据的收集、清洗、分析、可视化以及数据应用整个迭代过程,最终帮助组织制定正确的发展决策数据科学的从业者称为数据科学家。数据科学家有其独特的基本思路与常用工具,本文全面梳理数据分析师和数据科学家使用的工具包,包括开源的技术平台相关工具、挖掘分析解决工具、其它常见工具等几百种,几十个大类,部分网址!
数据科学家是有着开阔视野的复合型人才,他们既有坚实的数据科学基础,如数学、统计学、计算机学等,又具有广泛的业务知识和经验数据科学家通过精深的技术和专业知识在某些科学学科领域处理复杂的数据问题,从而制定出适合不同决策人员的大数据计划和策略。数据分析师和数据科学家使用的工具在网上的MOOC有提供,比方2016年2月1日约翰-霍普金斯大学Coursera数据科学专业化课程等网络课程。数据科学家的常用工具与基本思路,并对数据、相关问题和数据分析师和数据科学家使用的工具做了综合概述。

对大数据以及人工智能概念都是模糊不清的,该按照什么线路去学习,学完往哪方面发展,想深入理解,想学习的同学欢迎加入大数据学习qq群:458345782,有大量干货(零基础以及进阶的经典实战)分享给大家,并且有清华大学毕业的资深大数据讲师给大家免费授课,给大家分享目前国内最完整的大数据高端实战实用学习流程体系 。从java和linux入手,其后逐渐的深入到HADOOP-hive-oozie-web-flume-python-hbase-kafka-scala-SPARK等相关知识逐个分享!
A.大数据技术平台相关2015最佳工具
InfoWorld在分布式数据解决、流式数据分析、机器学习以及大规模数据分析领域精选出了2015年的开源工具获奖者,下面我们来简单详情下这些获奖的技术工具。
1. Spark
在Apache的大数据项目中,Spark是最火的一个,特别是像IBM这样的重量级贡献者的深入参加,使得Spark的发展和进步速度飞快。与Spark产生最甜蜜的火花点依然是在机器学习领域。去年以来DataFrames API取代SchemaRDD API,相似于R和Pandas的发现,使数据访问比原始RDD接口更简单。Spark的新发展中也有新的为建立可重复的机器学习的工作流程,可扩展和可优化的支持各种存储格式,更简单的接口来访问机器学习算法,改进的集群资源的监控和任务跟踪。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. 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用来存储立方体,HBase的coprocessor(协解决器)用来响应查询。像大多数其余的分析应用一样,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%的开源。
对大数据以及人工智能概念都是模糊不清的,该按照什么线路去学习,学完往哪方面发展,想深入理解,想学习的同学欢迎加入大数据学习qq群:458345782,有大量干货(零基础以及进阶的经典实战)分享给大家,并且有清华大学毕业的资深大数据讲师给大家免费授课,给大家分享目前国内最完整的大数据高端实战实用学习流程体系 。从java和linux入手,其后逐渐的深入到HADOOP-hive-oozie-web-flume-python-hbase-kafka-scala-SPARK等相关知识逐个分享!
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 大数据技术人员工具包最全集合