大数据技术入门(第2版)
上QQ阅读APP看书,第一时间看更新

前言

随着本书第1版的出版之后,Hadoop生态圈和大数据领域发生了很大的变化。在本书中,我们包含了最新的信息:

(1)公有云和大数据的关系:我们曾经认为,云软件本身需要消耗资源,增加管理的复杂度,而大数据需要大量的机器,所以,大数据的搭建可以直接在物理机上进行,而不是基于云。在最近3年的工作中,我深刻认识到,大型公有云的弹性分配的能力,是大数据所需要的。我们往往无法估计所需要的资源数量,而大型公有云的弹性能力给了我们这个自动扩展的能力。这无论对创业企业还是大型企业,都是很有必要的。我们有一个企业客户,从3年前每月支付300美元来使用我们的大数据平台到现在每月支付100万美元来使用,这个客户的数据量每年迅猛增长,即使是神仙,也估计不出来资源的这种需求趋势。大型公有云就解决了这个问题。所以,在本书中,我们以AWS为例让读者深刻理解如何在大型公有云上做大数据。对于大数据的开发人员而言,你就不仅仅是一位开发人员那么简单了,而是一个DevOps人员,也就是你既要懂公有云,又要在云端运维你自己搭建和开发的大数据平台与大数据分析产品。

(2)YARN 2.92。要想在生产环境中用好Hadoop,必须构建好Hadoop集群。要想构建好Hadoop集群,必须完全弄懂YARN。所以,YARN非常重要。本书基于实际案例来深入讲解YARN的原理、部署和配置,并讲解如何实现多租户模式。越来越多的企业基于云构建大数据系统,而这个大数据系统又要给企业内的多个部门或多个企业客户来使用,怎么使用YARN在一个大的Hadoop集群上实现多租户是一个很现实很迫切的问题。

(3)Hive 3.0。目前市场上比较流行的Hive书籍都是基于Hive老版本,查询语言都是HiveQL。从3.0开始,Hive向其他查询工具靠拢,全面支持ANSI SQL的查询;Hive MetaStore越来越重要,围绕MetaStore出来一些新工具新产品,比如Ranger,它用于解决Hadoop生态圈中数据安全性的问题;另外,从Hive 2.0开始,就不再推荐使用MapReduce计算框架,从前花费大幅章节解释Hive如何把查询计划转换为Map和Reduce任务已经不再适用,从3.0开始,MapReduce框架需要被弃用(deprecated),被Spark或Tez计算框架所替代。

(4)大数据的开发管理体系。大数据开发往往基于开源软件,这就必须充分理解和使用GitHub、JIRA、CI/CD等开源生态圈中频繁使用的工具和思想。每天打开Eclipse,按照需求文档编写代码的模式已经不适用于大数据开发了。在实际工作中,开发人员往往是从GitHub上获取源代码,添加自己的代码,推送到GitHub上。产品经理或者开发经理往往使用JIRA创建一个个的开发任务,分配各个任务给每个开发人员,每个开发人员在JIRA上发布开发的状态,询问问题(团队协作),完成整个开发的操作。在笔者所在的开发团队中,尤其是新加入的同事,对这些工具比较陌生,这极大地影响了工作的效率和团队的协作。在本书新版时,笔者特地加入这些内容,让大数据开发的管理变得容易一些,标准化一些。

(5)大数据安全管控。欧盟通过了《欧盟数据隐私指令》,我国已将大数据视作战略资源并上升为国家战略,大数据安全成为国家安全的新重点。在本书新版中,新增一章来讲解如何从技术上确保整个大数据安全可控。

在这一版中,我们删除了一些内容,比如Spark中的GraphX图计算框架、Spark MLlib、环保行业和公安行业的大数据案例分析等。删除的原因是Spark的GraphX和MLlib在实际工作中使用不频繁,两个行业的大数据案例与大数据技术的相关性小,而更多在于行业需求的认知上。