国内防艾战争交流组

行为心理学txt下载和50款大数据工具汇总来袭

爽朗的林夏2020-01-13 11:11:24

一、如何用R的处理大数据

http://www.xmind.net/m/LKF2/



二、R语言的工具包

https://cran.r-project.org/web/views/


里面含机器学习,自然语言处理,时间序列分析,空间信息分析,多重变量分析,计量经济学,心理统计学,社会学统计,化学计量学,药物代谢动力 等


三、帮你获得python大数据处理工具大全

http://www.xmind.net/m/WvfC



四、学习Python语言的,个人强烈推荐

https://learnpythonthehardway.org/book/

说实话Python最近今年太火了,静下心学这个语言没有错!



五、SAS图例集

http://robslink.com/SAS/Home.htm

用SAS也可以做出很漂亮的图形,这里就要提到一位大牛:Robert Allison。在他的网站上给出了非常全面的SAS图例和相应的实现代码


六、美国布朗大学概率和统计的可视化导论,一个非常棒的可视化概率及统计的学习网站(http://students.brown.edu/seeing-theory/?vt=4



七、教你玩动态的GIF图表

http://lenagroeger.com/


教你如何把手中的数据变成炫酷的GIF动图? 这个网站有各种类型的GIF


八、如何选择机器学习算法

http://blogs.sas.com/content/subconsciousmusings/2017/04/12/machine-learning-algorithm-use/



九、一套数据,25种可视化

http://flowingdata.com/2017/01/24/one-dataset-visualized-25-ways

仔细看了一下受益匪浅,同一组数据做出来的效果不同,看数的角度也不同


十、大数据数据处理资源

http://usefulstuff.io/big-data/


 从框架、分布式编程、分布式文件系统、键值数据模型、图数据模型、数据可视化、列存储、机器学习等


十一、里面蕴含编程语言、机器算法、大数据等,内容巨丰富


https://www.analyticsvidhya.com/blog/2017/02/top-28-cheat-sheets-for-machine-learning-data-science-probability-sql-big-data/




十二、推荐排名前50个开源的Web爬虫

十三、学习数据挖掘、机器学习的好网站,写的很全面很系统,适合各个级别的高手(网站:https://www.autonlab.org/tutorials)

一、数据分析师有哪些要求?

  1、理论要求及对数字的敏感性,包括统计知识、市场研究、模型原理等。

  2、工具使用,包括挖掘工具、数据库、常用办公软件(excel、PPT、word、脑图)等。

  3、业务理解能力和对商业的敏感性。对商业及产品要有深刻的理解,因为数据分析的出发点就是要解决商业的问题,只有理解了商业问题,才能转换成数据分析的问题,从而满足部门的要求。

  4、汇报和图表展现能力。这是临门一脚,做得再好的分析模型,如果不能很好地展示给领导和客户,成效就大打折扣,也会影响到数据分析师的职业晋升。

二、请把数据分析作为一种能力来培养

  从广义来说,现在大多数的工作都需要用到分析能力,特别是数据化运营理念深入的今天,像BAT这样的公司强调全员参与数据化运营,所以,把它作为一种能力培训,将会让你终生受益。

三、从数据分析的四个步骤来看清数据分析师需具备的能力和知识:

  数据分析的四个步骤(这有别于数据挖掘流程:商业理解、数据理解、数据准备、模型搭建、模型评估、模型部署),是从更宏观地展示数据分析的过程:获取数据、处理数据、分析数据、呈现数据。

  (一) 获取数据

  获取数据的前提是对商业问题的理解,把商业问题转化成数据问题,要通过现象发现本质,确定从哪些纬度来分析问题,界定问题后,进行数据的采集。此环节,需要数据分析师具备结构化的思维和对商业问题的理解能力。

  推荐书籍:《金字塔原理》、麦肯锡三部曲:《麦肯锡意识》、《麦肯锡工具》、《麦肯锡方法》

  工具:思维导图、mindmanager软件

  (二) 处理数据

  一个数据分析项目,通常数据处理时间占70%以上,使用先进的工具有利于提升效率,所以尽量学习最新最有效的处理工具,以下介绍的是最传统的,但却很有效率的工具:

  Excel:日常在做通报、报告和抽样分析中经常用到,其图表功能很强大,处理10万级别的数据很轻松。

  UltraEdit:文本工具,比TXT工具好用,打开和运行速度都比较快。

  ACCESS:桌面数据库,主要是用于日常的抽样分析(做全量统计分析,消耗资源和时间较多,通常分析师会随机抽取部分数据进行分析),使用SQL语言,处理100万级别的数据还是很快捷。

  Orcle、SQL sever:处理千万级别的数据需要用到这两类数据库。

  当然,在自己能力和时间允许的情况下,学习新流行的分布式数据库及提升自身的编程能力,对未来的职业发展也有很大帮助。

  分析软件主要推荐:

  SPSS系列:老牌的统计分析软件,SPSS Statistics(偏统计功能、市场研究)、SPSS Modeler(偏数据挖掘),不用编程,易学。

  SAS:老牌经典挖掘软件,需要编程。

  R:开源软件,新流行,对非结构化数据处理效率上更高,需编程。

  随着文本挖掘技术进一步发展,对非结构化数据的分析需求也越来越大,需要进一步关注文本挖掘工具的使用。

  (三) 分析数据

  分析数据,需要用到各类的模型,包括关联规则、聚类、分类、预测模型等,其中一个最重要的思想是对比,任何的数据需要在参照系下进行对比,结论才有意义。

  推荐的书籍:

  1、《数据挖掘与数据化运营实战,思路、方法、技巧与应用》,卢辉着,机械出版社。这本书是近年国内写得最好的,务必把它当作圣经一样来读。

  2、《谁说菜鸟不会数据分析(入门篇)》和《谁说菜鸟不会数据分析(工具篇)》,张文霖等编着。属于入门级的书,适合初学者。

  3、《统计学》第五版,贾俊平等编着,中国人民大学出版社。比较好的一本统计学的书。

  4、《数据挖掘导论》完整版,[美]Pang-Ning Tan等着,范明等翻译,人民邮电出版社。

  5、《数据挖掘概念与技术》,Jiawei Han等着,范明等翻译,机械工业出版社。这本书相对难一些。

  6、《市场研究定量分析方法与应用》,简明等编着,中国人民大学出版社。

  7、《问卷统计分析实务—SPSS操作与应用》,吴明隆着,重庆大学出版社。在市场调查领域比较出名的一本书,对问卷调查数据分析讲解比较详细。

      (四) 呈现数据

  该部分需要把数据结果进行有效的呈现和演讲汇报,需要用到金字塔原理、图表及PPT、word的呈现,培养良好的演讲能力。

  推荐书籍:

  1、《说服力让你的PPT会说话》,张志等编着,人民邮电出版社。

  2、《别告诉我你懂ppt》加强版,李治着,北京大学出版社。

  3、《用图表说话》,基恩。泽拉兹尼着,马晓路等翻译,清华大学出版社。

  (五) 其他的知识结构

  数据分析师除了具备数学知识外,还要具备市场研究、营销管理、心理学、行为学、产品运营、互联网、大数据等方面的知识,需要构建完整广泛的知识体系,才能支撑解决日常遇到的不同类型的商业问题。

  推荐书籍:

  1、《消费者行为学》第10版,希夫曼等人着,江林等翻译,中国人民大学出版社,现在应该更新到更高的版本。

  2、《怪诞行为学》升级版,艾瑞里着,赵德亮等翻译,中信出版社

  3、《营销管理》,科特勒等着,梅清豪翻译,格致出版社和上海人民出版社联合出版

  4、《互联网思维—独孤九剑》,赵大伟主编,机械出版社

  5、《大数据时代—生活、工作与思维的大变革》,舍恩伯格等着,周涛等翻译,浙江人民出版社

四、关于数据分析师的职业发展:

  1、数据分析师通常分两类,分工不同,但各有优势。

  一类是在专门的挖掘团队里面从事数据挖掘和分析工作的。如果你能在这类专业团队学习成长,那是幸运的,但进入这类团队的门槛较高,需要扎实的数据挖掘知识、挖掘工具应用经验和编程能力。该类分析师更偏向技术线条,未来的职业通道可能走专家的技术路线。

  另一类是下沉到各业务团队或者运营部门的数据分析师,成为业务团队的一员。他们工作是支撑业务运营,包括日常业务的异常监控、客户和市场研究、参与产品开发、建立数据模型提升运营效率等。该类型分析师偏向产品和运营,可以转向做运营和产品。

  2、数据分析师的理想行业在互联网,但条条大道通罗马,走合适你的路线。

  从行业的角度来看:

  1)互联网行业是数据分析应用最广的行业,其中的电商企业,更是目前最火的,而且企业也更重视数据分析的价值,是数据分析师理想的成长平台。

  2)其次是咨询公司(比如专门的数据挖掘公司Teradata、尼尔森等市场研究公司),他们需要数据分析人才,而且相对来说,数据分析师在咨询公司成长的速度更快,专业也会更全面。

  3)再次是金融行业,比如银行和证券等行业,该行业对数据分析的依赖需求,越来越大。

  4)最后是电信行业(中国移动、联通和电信),它们拥有海量的数据,在严峻的竞争下,也越来越重视数据分析,但进入这些公司的门槛比较高。

五、什么人适合学习数据分析?

  这个问题的答案跟“什么人适合学功夫”一样,毫无疑问,功夫是适合任何人学习的(排除心术不正的人),因为能够强身健体。而功夫的成效,要看习武者的修炼深浅。常常有人争论,是咏春拳厉害,还是散打厉害,其实是颠倒了因果,应该看哪个人练习得比较好,流派之间没有高低,只有人修炼的厚薄。

  实际上,问题的潜台词是“什么人学习数据分析,会更容易取得成功(比如职业成功)”,这个要视乎你的兴趣、付出和机遇。但要做到出类拔萃,除了上面三点,还需要一点天赋,这里的机遇是指你遇到的职业发展平台、商业环境、导师和同事。

  借用管理大师德鲁克的话“管理是可以习得的”,管理并非是天生的,而数据分析能力,也可以后天提升。或许做到优秀,只需要你更加的努力+兴趣,而这个努力的过程,也包括你寻找机遇的部分。

六、关于如何学习:

  学习方法千万种,关键是找到适合自己的,最好能够结合你的工作遇到的问题来学习。

  1、搜集书籍、案例库和视频,先弄懂理论,然后学会软件操作,自己制作属于自己的教程。

  比如,你学习聚类分析模型。1)搜集相关的聚类分析模型的书籍、案例和教学视频,了解聚类分析的原理,主要有哪几种算法(划分、层次、密度、网格)、模型适用的范围和前提、如何评估模型的精确度等。

  2)自己学会用软件来实现。

  3)总结整理成一份PPT和制作操作视频,成为自己的学习教程,不断完善。

  4)学习到一定程度后,可以在博客、微信等渠道分享,授人与渔,而自己也会有所收获。

  2、关注名人、名博、网站,多渠道学习。

  1)关注专业的数据分析、咨询公司网站和论坛,特别强调,统计软件公司的网站如SPSS的官网有很多案例库,值得关注。

  SPSS的案例库,可在官网上搜索各类案例:http://www.ibm.com/developerwork … 8zhangzy/index.html

  另外,你最好建一个自己的网址导航目录,提升你的学习效率

  2)关注名人名博,最好能加他们的微博、微信和微信公众号,看牛人的博客和微信等内容,还是能得到很多引导,这个你懂的。

  3)加入一些有共同爱好的QQ群,互相学习交流。通常群里有人会提出一些真实的运营问题,然后大家用不同的方法去解决,对思路很有启发。

  4)碎片化学习,最大化你的时间价值。为了把零散的时间利用起来,通常我会把一些资料上载到网盘,在零碎的时间里通过手机进行视频、文档学习等。目前使用百度云盘和360网盘。百度云盘应用比较广,通常在网络上搜索“关键词+百度云”后,搜到结果可以直接保存在云盘上,搜索保存速度极大提升。360网盘则空间比较大,可以到达40T,同时有保险箱加密功能,安全性高一些。

  手机上安装一些APP,随时随地学习。

七、最后的建议

  请再次问问自己,是否真的喜欢数据分析,能否忍受处理数据时的寂寞?如果是,那就开始学习,给你几条建议。

  1、把数据分析作为一种能力培养,让自己在现在的团队中展现出良好的数据分析能力,为你以后内部转岗做好准备。如果内部转岗不成,你可以考虑跳槽到我之前分析的行业中,但我强烈建议你还是需要把系统开发的编程能力学习好,并且对商业智能系统(BI和CRM)有一定了解,这也许是应聘数据分析的优势。如果没有数据分析经验去应聘,相对会难一些,用人单位会考你统计和数据挖掘模型方面的知识,以及工具使用情况。

  2、在公司里找一些有共同爱好的同事一起学习数据分析,平时多请教数据分析做得好的同事,它山之石,可以攻玉。

  3、扎实学好一、两门数据挖掘软件,基于你有编程的基础,建议你可以学SAS或者R,同时辅助学习SPSS Modeler。如果没编程基础或者希望短期能够取得成效,那也可以先学习SPSS。SAS+SPSS,基本能够满足很大部分企业的需求,三者都会,那更好。

  4、要了解公司是如何运营,产品是如何开发的,如何做客户研究锁定客户需求,如何做产品营销,这些需要不断工作积累和广泛的阅读。

  5、开始学习时,先读几本有趣的数据分析类的书,然后系统学习一下统计知识(建议教材用《统计学》第五版,贾俊平等编着),接着网上快速搜集软件操作视频和案例,然后逐个分析模型进行学习和总结归纳,学习最好能够结合实际工作中的问题进行。

  6、学习到一定程度时,参加一些数据分析师的职业认证,进一步梳理知识结构,同时认识一些志同道合的朋友和老师,也是对你有很大帮助。

为了鼓励新工具的出现,机器学习和数据分析领域似乎已经成了“开源”的天下。Python 和 R 语言都具有健全的生态系统,其中包括了很多开源工具和资源库,从而能够帮助任何水平层级的数据科学家展示其分析工作。

机器学习和数据分析之间的差异有些难以言明,但二者最主要的不同就在于,比起模型的可解释性,机器学习更加强调预测的准确性;而数据分析则更加看重模型的可解释性以及统计推断。Python ,由于更看重预测结果的准确性,使其成为机器学习的一把利器。 R ,作为一种以统计推断为导向的编程语言,在数据分析界也得到广泛应用。

当然,这并不代表二者只能在各自的一个领域中得到应用。Python 也可以高效地完成数据分析工作,R 在机器学习中也具有一定的灵活性。它们都拥有相当多的资源库去实现彼此特定的函数功能,比如 Python 就有很多资源库来提高自己统计推断的能力,R 也有很多包可以提升预测的准确率。

Python 中关于机器学习和数据分析的包

Scikit-learn 可能是 Python 最受欢迎的机器学习资源库了。基于 Numpy 和 Scipy ,scikit-learn 提供大量用于数据挖掘和分析的工具,从而提高了 Python 本就出色的机器学习可用性。NumPy 和 SciPy 各自为战,虽然它们是 Python 中数据分析的核心部分,但数据分析家更可能仅仅原生地去使用它们,而不是基于一个更高的角度。 Scikit-learn 却将二者结合成为一个机器学习资源库,同时也降低了大家的学习门槛。

在数据分析领域,Python 也因几个库而包受推崇。 作为其中最为著名的库之一,Pandas 为 Python 提供了高性能处理的数据结构和数据分析工具。如同其他很多 Python 的库一样,从你着手一个新项目到真正做些有价值的工作这过程的时间将会因它大大缩短。如果你执着于 Python 同时又希望使用 R 的功能, RPy2 库能够提供所有 R 的主要功能,并给你一个 R 在 Python 中使用的流畅化体验。

R 中关于机器学习和数据分析的包

就 R 在数据分析领域的表现,仍然有很多包可以用来提升它本就出色的能力。不管是建模前的准备,建模,以及建模后的分析工作,R 都有很多包可以胜任。这些包大多专门用来完成特定的任务,比如数据的可视化,连续变量回归和模型验证。

两种编程语言都拥有如此多交叉功能的资源库和包,你会选择哪种编程语言作为伴你在数据战场厮杀的武器呢?

在机器学习和数据分析中的 Python

Python 是一种很灵活的编程语言,所以如果你打算把已经完成的机器学习或者数据分析的项目移植到其他领域,那么使用 Python 可以使你不必再去学习新的编程语言。

Python 的灵活性也使得它非常适用于生产。举个例子,当数据分析的任务需要与 Web 应用程序相整合的时候,你仍然可以使用 Python 且不需要和其他编程语言相整合。而虽然 R 是一个很好的数据分析的工具,但它在数据分析之外的领域却有所限制。

如果你刚入门编程,对那些“标准化”的语法并不熟悉,那么无论哪种编程语言的学习曲线对你而言都差不多。但要是你希望跨过机器学习和数据分析的门槛,Python 可能是更好的选择。特别是 Python 有 scikit-learn 库的加持。这个库表现良好且更新频繁。 R 可能有很多包,但显得有些零乱且一致性较差。

在机器学习和数据分析中的 R

由于 R 是作为统计性的编程语言而构建的,因此它具有很好的统计方面的支持。它能够很好地展现统计学家的思维,所以如果你具有统计背景的话,用起来会很顺手。诸如像 statsmodels 包能够基本覆盖 Python 中的统计模型,而且 R 中与统计模型相关的包功能会更加强大。对于刚入门的程序员, R 只需要写几行代码就能够构建模型了,这样一来,它会比 Python 更容易解释一些。

R 中与 Python 的 pandas 库功能最为接近的大概就是 dplyr 包了,只不过它会比 pandas 库限制得更多。虽然这听起来不太好,但实际上使用 dplyr 包时会促使你更专注于寻求问题的解决之道,而且 dplyr 包的代码也比 pandas 库更容易理解。

选择你自己的编程语言吧

R 最大的问题在于一致性不够好。其中的算法流程被分成三块,使得它们相对而言不够统一。你不得不学习新的方法来建模并用新的算法来做预测,伴随这个过程,结果的有效性将会明显下降。你需要理解每个包是怎么用的,同样地,R 中包的帮助文档由于不够完整,一致性也不好。

不过,要是你需要一个数据分析的工具用于学术, R 绝对可以胜任这项工作。 Python 则被广泛地用于商业也更便于协作,不过 R 也越来越得到重视了。不管是日常的使用和机器学习,还是通过和 R 一般众多的包来做数据分析, Python 都能做到,因此也更推荐使用 Python 。

如果你对 R 还比较陌生,不如学习 Python 并通过 RPy2 包来实现 R 的功能。 这样一来,你就可以在一种编程语言里同时使用二者的功能,而且由于很多公司已经开发了在 Python 中使用的生产系统, Python 可谓生产力高效。这点在 R 中就不适用了。一旦你学会了 RPy2 ,再想跳到 R 里面并没有那么复杂,不过反过来就相对而言困难得多了。

不管你想解决什么类型的问题, Python 和 R 都有功能相近的资源库可以使用。每种编程语言都有很多的分支、模块、集成开发环境和算法,以至于你难以出什么大的纰漏。不过要是你希望使用一个灵活性强,扩展性好,多功能又能胜任机器学习和数据分析工作的编程语言, Python 或许是明智之选。

原文链接:Python versus R for machine learning and data analysis

原文作者: Tom Radcliffe

译作者:Vector  via:数据工匠

End.

作者:Bob Muenchun

前言

招聘广告的数量能一定程度上反应每一种软件的流行程度,并从中预测出哪一种在将来会更加流行。本文作者以美国最大的招聘网站Indeed.com为统计平台,通过对某一天数据科学职位的招聘数量进行统计分析,得出数据科学软件的变化趋势。

为了公平,本文采用了一种专门的方法,用来在数据科学职位范围内统计每种软件的招聘数量,文中所有的图片也都是在这个前提下取得的,统计日期为2017年2月24日。

正文

各种软件招聘量见下图。其中最多的是SQL,将近18000,然后分别是Python和JAVA(13000左右),Hadoop(10000左右),R,C系列和SAS(这是R首次在在数据科学职位报告中超过SAS),Apache Spark,Tableau(5000左右,限数据科学职位),Apache Hive(3900左右),Scala,SAP,MATLAB,SPSS。其中Scala,SAP,MATLAB,SPSS均为2500左右。

招聘量小于250的软件列在了下图中,分别是:Alteryx(240),Microsoft(Azure Machine Learning and Microsoft Cognitive Toolkit,157),Julia,FORTRAN,Apache Flink(125),H2O(100)。以操作容易为卖点的SAS Enterprise Miner、RapidMiner和KNIME招聘量都是90左右,大概是因为各公司认为没有必要聘请专家?SPSS模块也是同样类型的接口,但却只有50个职位。开源的MXNet深度学习框架有34个职位,而Tensorflow是它的12倍,但是两者都很年轻,有足够大的潜力在未来快速发展。

下面我们先来看一下R是如何超过SAS的。从下图可以看出,在2012年到2017年2月28日这个时间段,SAS的职位需求一直都很稳定,而R则稳定增长并最终在2016年早期超过了SAS。另外根据blog post所述,R于2015年就已经在学术出版物中超过SAS。

再来看一下Python和R。Python和R谁更流行的争论是由来已久,但是从来都没有多少数据支持。但是单从招聘职位上来看,Python于2013年就已经超过了R(如下图)。当然我们要清楚,R只是单纯用来进行数据分析,而Python在数据科学领域用途更广泛。

01  Talend Open Studio


是第一家针对的数据集成工具市场的ETL(数据的提取Extract、传输Transform、载入Load)开源软件供应商。Talend的下载量已超过200万人次,其开源软件提供了数据整合功能。其用户包括美国国际集团(AIG)、康卡斯特、电子港湾、通用电气、三星、Ticketmaster和韦里逊等企业组织。



02 DYSON


探码科技自主研发的DYSON智能分析系统,可以完整的实现大数据的采集、分析、处理。DYSON智能分析系统专业针对互联网数据抓取、处理、分析,挖掘。可以灵活迅速地抓取网页上散乱分布的信息,并通过强大的处理功能,准确挖掘出所需数据,是目前使用人数最多的网页采集工具.



03 YARN


一种新的Hadoop资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,解决了旧MapReduce框架的性能瓶颈。它的基本思想是把资源管理和作业调度/监控的功能分割到单独的守护进程。



04 Mesos


由加州大学伯克利分校的AMPLab首先开发的一款开源群集管理软件,支持Hadoop、ElasticSearch、Spark、Storm 和Kafka等架构。对数据中心而言它就像一个单一的资源池,从物理或虚拟机器中抽离了CPU,内存,存储以及其它计算资源, 很容易建立和有效运行具备容错性和弹性的分布式系统。



05 Datale


由探码科技研发的一款基于Hadoop的大数据平台开发套件,RAI大数据应用平台架构。



06 Ambari


作为Hadoop生态系统的一部分,提供了基于Web的直观界面,可用于配置、管理和监控Hadoop集群。目前已支持大多数Hadoop组件,包括HDFS、MapReduce、Hive、Pig、 Hbase、Zookeper、Sqoop和Hcatalog等。



07 ZooKeeper


一个分布式的应用程序协调服务,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的工具,让Hadoop集群里面的节点可以彼此协调。ZooKeeper现在已经成为了 Apache的顶级项目,为分布式系统提供了高效可靠且易于使用的协同服务。



08 Thrift


在2007年facebook提交Apache基金会将Thrift作为一个开源项目,对于当时的facebook来说创造thrift是为了解决facebook系统中各系统间大数据量的传输通信以及系统之间语言环境不同需要跨平台的特性。



09 Chukwa


监测大型分布式系统的一个开源数据采集系统,建立在HDFS/MapReduce框架之上并继承了Hadoop的可伸缩性和可靠性,可以收集来自大型分布式系统的数据,用于监控。它还包括灵活而强大的显示工具用于监控、分析结果。



10 Lustre


一个大规模的、安全可靠的、具备高可用性的集群文件系统,它是由SUN公司开发和维护的。该项目主要的目的就是开发下一代的集群文件系统,目前可以支持超过10000个节点,数以PB的数据存储量。



11 HDFS


Hadoop Distributed File System,简称HDFS,是一个分布式文件系统。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。



12 GlusterFS


一个集群的文件系统,支持PB级的数据量。GlusterFS 通过RDMA和TCP/IP方式将分布到不同服务器上的存储空间汇集成一个大的网络化并行文件系统。



13 Alluxio


前身是Tachyon,是以内存为中心的分布式文件系统,拥有高性能和容错能力,能够为集群框架(如Spark、MapReduce)提供可靠的内存级速度的文件共享服务。



14 Ceph


新一代开源分布式文件系统,主要目标是设计成基于POSIX的没有单点故障的分布式文件系统,提高数据的容错性并实现无缝的复制。



15 PVFS


一个高性能、开源的并行文件系统,主要用于并行计算环境中的应用。PVFS特别为超大数量的客户端和服务器端所设计,它的模块化设计结构可轻松的添加新的硬件和算法支持。



16 QFS


Quantcast File System (QFS) 是一个高性能、容错好、分布式的文件系统,用于开发支持 MapReduce处理或者需要顺序读写大文件的应用。



17  Logstash


一个应用程序日志、事件的传输、处理、管理和搜索的平台。可以用它来统一对应用程序日志进行收集管理,提供了Web接口用于查询和统计。



18 Scribe


Scribe是Facebook开源的日志收集系统,它能够从各种日志源上收集日志,存储到一个中央存储系统(可以是NFS,分布式文件系统等)上,以便于进行集中统计分析处理。



19 Flume


Cloudera提供的一个高可用的、高可靠的、分布式的海量日志采集、聚合和传输的系统。Flume支持在日志系统中定制各类数据发送方,用于收集数据。同时,Flume支持对数据进行简单处理,并写入各种数据接受方(可定制)。



20 RabbitMQ


一个受欢迎的消息代理系统,通常用于应用程序之间或者程序的不同组件之间通过消息来进行集成。RabbitMQ提供可靠的应用消息发送、易于使用、支持所有主流操作系统、支持大量开发者平台。



21 ActiveMQ


Apache出品,号称“最流行的,最强大”的开源消息集成模式服务器。ActiveMQ特点是速度快,支持多种跨语言的客户端和协议,其企业集成模式和许多先进的功能易于使用,是一个完全支持JMS1.1和J2EE 1.4规范的JMS Provider实现。



22 Kafka


一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模网站中的所有动作流数据,目前已成为大数据系统在异步和分布式消息之间的最佳选择。



23 Spark


一个高速、通用大数据计算处理引擎。拥有Hadoop MapReduce所具有的优点,但不同的是Job的中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。它可以与Hadoop和Apache Mesos一起使用,也可以独立使用。



24 Kinesis


可以构建用于处理或分析流数据的自定义应用程序,来满足特定需求。Amazon Kinesis Streams 每小时可从数十万种来源中连续捕获和存储数TB数据,如网站点击流、财务交易、社交媒体源、IT日志和定位追踪事件。



25  Hadoop


一个开源框架,适合运行在通用硬件,支持用简单程序模型分布式处理跨集群大数据集,支持从单一服务器到上千服务器的水平scale up。Apache的Hadoop项目已几乎与大数据划上了等号,它不断壮大起来,已成为一个完整的生态系统,拥有众多开源工具面向高度扩展的分布式计算。高效、可靠、可伸缩,能够为你的数据存储项目提供所需的YARN、HDFS和基础架构,并且运行主要的大数据服务和应用程序。




26 Spark Streaming


实现微批处理,目标是很方便的建立可扩展、容错的流应用,支持Java、Scala和Python,和Spark无缝集成。Spark Streaming可以读取数据HDFS,Flume,Kafka,Twitter和ZeroMQ,也可以读取自定义数据。



27 Trident


是对Storm的更高一层的抽象,除了提供一套简单易用的流数据处理API之外,它以batch(一组tuples)为单位进行处理,这样一来,可以使得一些处理更简单和高效。



28 Flink


于今年跻身Apache顶级开源项目,与HDFS完全兼容。Flink提供了基于Java和Scala的API,是一个高效、分布式的通用大数据分析引擎。更主要的是,Flink支持增量迭代计算,使得系统可以快速地处理数据密集型、迭代的任务。



29 Samza


出自于LinkedIn,构建在Kafka之上的分布式流计算框架,是Apache顶级开源项目。可直接利用Kafka和Hadoop YARN提供容错、进程隔离以及安全、资源管理。



30 Storm


Storm是Twitter开源的一个类似于Hadoop的实时数据处理框架。编程模型简单,显著地降低了实时处理的难度,也是当下最人气的流计算框架之一。与其他计算框架相比,Storm最大的优点是毫秒级低延时。



31 Yahoo S4 (Simple Scalable Streaming System)


是一个分布式流计算平台,具备通用、分布式、可扩展的、容错、可插拔等特点,程序员可以很容易地开发处理连续无边界数据流(continuous unbounded streams of data)的应用。它的目标是填补复杂专有系统和面向批处理开源产品之间的空白,并提供高性能计算平台来解决并发处理系统的复杂度。



32 HaLoop


是一个Hadoop MapReduce框架的修改版本,其目标是为了高效支持 迭代,递归数据 分析任务,如PageRank,HITs,K-means,sssp等。



33 Presto


是一个开源的分布式SQL查询引擎,适用于交互式分析查询,可对250PB以上的数据进行快速地交互式分析。Presto的设计和编写是为了解决像Facebook这样规模的商业数据仓库的交互式分析和处理速度的问题。Facebook称Presto的性能比诸如Hive和MapReduce要好上10倍有多。



34 Drill


于2012年8月份由Apache推出,让用户可以使用基于SQL的查询,查询Hadoop、NoSQL数据库和云存储服务。它能够运行在上千个节点的服务器集群上,且能在几秒内处理PB级或者万亿条的数据记录。它可用于数据挖掘和即席查询,支持一系列广泛的数据库,包括HBase、MongoDB、MapR-DB、HDFS、MapR-FS、亚马逊S3、Azure Blob Storage、谷歌云存储和Swift。



35 Phoenix


是一个Java中间层,可以让开发者在Apache HBase上执行SQL查询。Phoenix完全使用Java编写,并且提供了一个客户端可嵌入的JDBC驱动。Phoenix查询引擎会将SQL查询转换为一个或多个HBase scan,并编排执行以生成标准的JDBC结果集。



36 Pig


是一种编程语言,它简化了Hadoop常见的工作任务。Pig可加载数据、转换数据以及存储最终结果。Pig最大的作用就是为MapReduce框架实现了一套shell脚本 ,类似我们通常熟悉的SQL语句。



37 Hive


是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。



38 SparkSQL


前身是Shark,SparkSQL抛弃原有Shark的代码并汲取了一些优点,如内存列存储(In-Memory Columnar Storage)、Hive兼容性等。由于摆脱了对Hive的依赖性,SparkSQL无论在数据兼容、性能优化、组件扩展方面都得到了极大的方便。



39 Stinger


原来叫Tez,是下一代Hive,由Hortonworks主导开发,运行在YARN上的DAG计算框架。某些测试下,Stinger能提升10倍左右的性能,同时会让Hive支持更多的SQL。



40 Tajo


目的是在HDFS之上构建一个可靠的、支持关系型数据的分布式数据仓库系统,它的重点是提供低延迟、可扩展的ad-hoc查询和在线数据聚集,以及为更传统的ETL提供工具。



41 Impala


Cloudera 声称,基于SQL的Impala数据库是“面向Apache Hadoop的领先的开源分析数据库”。它可以作为一款独立产品来下载,又是Cloudera的商业大数据产品的一部分。Cloudera Impala 可以直接为存储在HDFS或HBase中的Hadoop数据提供快速、交互式的SQL查询。



42  Elasticsearch


是一个基于Lucene的搜索服务器。它提供了一个分布式、支持多用户的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索、稳定、可靠、快速、安装使用方便。



43 Solr


基于Apache Lucene,是一种高度可靠、高度扩展的企业搜索平台。知名用户包括eHarmony、西尔斯、StubHub、Zappos、百思买、AT&T、Instagram、Netflix、彭博社和Travelocity。



44 Shark


即Hive on Spark,本质上是通过Hive的HQL解析,把HQL翻译成Spark上的RDD操作,然后通过Hive的metadata获取数据库里的表信息,实际HDFS上的数据和文件,会由Shark获取并放到Spark上运算。Shark的特点就是快,完全兼容Hive,且可以在shell模式下使用rdd2sql()这样的API,把HQL得到的结果集,继续在scala环境下运算,支持自己编写简单的机器学习或简单分析处理函数,对HQL结果进一步分析计算。



45 Lucene


基于Java的Lucene可以非常迅速地执行全文搜索。据官方网站声称,它在现代硬件上每小时能够检索超过150GB的数据,它拥有强大而高效的搜索算法。



46 Terracotta


声称其BigMemory技术是“世界上首屈一指的内存中数据管理平台”,支持简单、可扩展、实时消息,声称在190个国家拥有210万开发人员,全球1000家企业部署了其软件。



47  Ignite


是一种高性能、整合式、分布式的内存中平台,可用于对大规模数据集执行实时计算和处理,速度比传统的基于磁盘的技术或闪存技术高出好几个数量级。该平台包括数据网格、计算网格、服务网格、流媒体、Hadoop加速、高级集群、文件系统、消息传递、事件和数据结构等功能。



48 GemFire


Pivotal宣布它将开放其大数据套件关键组件的源代码,其中包括GemFire内存中NoSQL数据库。它已向Apache软件基金会递交了一项提案,以便在“Geode”的名下管理GemFire数据库的核心引擎。



49  GridGain


由Apache Ignite驱动的GridGrain提供内存中数据结构,用于迅速处理大数据,还提供基于同一技术的Hadoop加速器。



50 MongoDB


是一个基于分布式文件存储的数据库。由C++语言编写。旨在为web应用提供可扩展的高性能数据存储解决方案。介于关系数据库和非关系数据库之间的开源产品,是非关系数据库当中功能最丰富、最像关系数据库的产品。