本次分享第【1】部分:什么是数据科学。
本次分享第【2】部分:如何从小白成长为数据科学家。
本次分享第【3】部分:如何以Python为工具走入数据科学之门。
分享主题:Data Science学习分享会
分享时间:2016年4月18日晚8:00-10:00
分享地点:赤兔“数据挖掘”小组,线上
分享嘉宾:黄逸洲,来自美国华盛顿大学信息管理专业的研究生,专攻数据科学。
这一部分主要是讲大规模数据处理平台和云计算平台。
由于现在数据量在不断增加,单独的机器很难完成大规模的数据处理。所以引进了hadoop和spark这样的平台,提供更好地平行计算能力,容错能力,以及load balance,极大的提高了数据处理的的速度和规模。
由于很多公司难以负担自己组建一个数据中心,所以就出现了诸如AWS,Microsoft Azure,和GoogleData Platform这样的与服务供应商。通过提供付费的云端服务,为众多的公司提供软硬件支持。
首先介绍学习大数据处理平台。
需要了解Map-Reduce的基本原理,这是大规模数据处理的基本框架。
用一个我看过的最好的例子就是41一个字讲通map-reduce的基本原理:
当然除了map和reduce两个过程,中间还有一个group和shuffle的过程。目的是把相同类的结果放在一起,便于后面的reduce计算。
第二部分是了解hadoop和其生态圈,如HDFS, Yarn, Hbase,Zoopker。
大概就是这么个框架,每个部分具有不同的功能,完成不同的任务,根据需要进行学习即可。
推荐阅读google三篇论文,这个是hadoop和map-reduce的基础。讲得非常全面,对自己学习这方面的知识很有帮助。
还有推荐使用hortonworks sandbox,这是个免费得平台,并提供一系列完整的课程,帮助大家学习hadoop及其生态圈的相关知识。
除了hadoop,另一个就是spark平台。由于是在内存中处理,所以速度要比hadoop快,我们老师推荐是使用scala配合spark一起使用,会很有帮助。
还有,就是掌握一些数据库的知识,例如DBMS和NoSQL。后者更符合大规模数据处理的要求,能快速的处理数据,并且对数据的结构没有太大要求,相比于传统数据库,在这方面会更有优势。例如,NoSQL有MongoD,DBMS有mysql和postgreSQL。
另外,就是了解一些OLTP和数据仓库的知识。在很多商业数据处理方面,需要用到这类知识来更好做数据汇报。
最后要就是云计算服务了。
云计算服务有三种模式,SaaS,PaaS,和IaaS。根据公司需求的不同可以选择不同的服务:
这张图就是解释不同云服务所控制的范围的差别:
打个比方,公路就是IaaS。如果没人使用这个公路,它也就没有什么作用。Paas就是汽车,提供各种通勤的服务。汽车里面的人和货物根据功能的不同,就相当于Saas。
云服务的出现满足了企业对于硬件的按需的要求。不需要自己拥有硬件,只需要一个账号和每个月的付费,就能得到看似没有上限的技术服务与存储空间,极大的节约了成本。也满足了对于可拓展性的要求,具有极大的弹性。
AWS,Azure,和GDP都是不同时期先后成立的云服务供应商。其中以AWS最为成熟,时间最久,市场占有率也最高。
这张图表现了每个平台的市场占有率:
这张图是三个平台比较全面的比较,各有不同,各有优势,根据自身需要选择相应的平台即可。