发表于2024-11-05
我们为什么需要自己动手做大数据系统?本书从OpenStack云平台搭建、软件部署、需求开发实现到结果展示,以纵向角度讲解了生产性大数据项目上线的整个流程;以完成一个实际项目需求贯穿各章节,讲述了Hadoop生态圈中互联网爬虫技术、Sqoop、Hive、HBase组件协同工作流程,并展示了Spark计算框架、R制图软件和SparkRHive组件的使用方法。
如果你是一位在校大学生,对大数据感兴趣,也知道使用的企业越来越多,市场需求更是日新月异,但苦于自己基础不够,心有余而力不足;也看过不少大数据方面的书籍、博客、视频等,但感觉进步不大;如果你是一位在职人员,但目前主要使用传统技术,虽然对大数据很有兴趣,也深知其对未来的影响,但因时间不够,虽有一定的基础,常常也是打两天鱼、晒三天网,进展不是很理想。如果你有上述疑惑或遇到相似问题,本书正好比较适合你。本书从OpenStack云平台搭建、软件部署、需求开发实现到结果展示,以纵向角度讲解了生产性大数据项目上线的整个流程;以完成一个实际项目需求贯穿各章节,讲述了Hadoop生态圈中互联网爬虫技术、Sqoop、Hive、HBase组件协同工作流程,并展示了Spark计算框架、R制图软件和SparkRHive组件的使用方法。本书的一大特色是提供了实际操作环境,用户可以在线登录云平台来动手操作书中的数据和代码,登录网址请参考http://www.feiguyun.com/support。
张魁
虚拟化工程师,Openstack架构师,苏州某高校云平台架构师,十余年Linux系统运维实践及虚拟化开发经验,4年Linux系统补丁开发经验。先后在美企担任虚拟化应用运维、服务器集群开发运维工程师或系统开发架构师,高校信息中心云平台架构师,主要关注Openstack、Docker及分布式存储等。
张粤磊
DBA、大数据架构师,十余年一线数据处理数据分析实战经验。先后在咨询、金融、互联网行业担任数据平台技术负责人或架构师。主要关注大数据基础平台、大数据模型构建和大数据分析。
刘未昕
从事IT研发和项目管理工作十余年以上。使用多种程序设计语言,目前研究方向主要是大数据生态系统,从事金融、数据仓库等领域研发。五年以上IT行业授课、培训经验,并在多所高校担任外聘讲师。
吴茂贵
运筹学与控制论专业研究生学历。毕业后主要参与数据仓库、商务智能等方面的项目,期间做过数据处理、数据分析、数据挖掘等工作,行业涉及金融、物流、制造业等。近期主要做复杂数据存储、清理、转换等工作,同时在大数据方面也很有兴趣并投入大量时间和精力,且将持续为之。
第1章 为什么要自己动手做大数据系统 1
1.1 大数据时代 1
1.2 实战大数据项目 2
1.3 大数据演练平台 2
第2章 项目背景及准备 4
2.1 项目背景 4
2.2 项目简介 4
2.3 项目架构 4
2.4 操作系统 5
2.5 数据存储 7
2.6 数据处理 8
2.7 开发工具 9
2.8 调试工具 10
2.9 版本管理 10
第3章 大数据环境搭建和配置 11
3.1 各组件功能说明 11
3.1.1 各种数据源的采集工具 12
3.1.2 企业大数据存储工具 12
3.1.3 企业大数据系统的数据仓库工具 12
3.1.4 企业大数据系统的分析计算工具 13
3.1.5 企业大数据系统的数据库工具 13
3.2 大数据系统各组件安装部署配置 13
3.2.1 安装的前期准备工作 13
3.2.2 Hadoop基础环境安装及配置 15
3.2.3 Hive安装及配置 21
3.2.4 Sqoop安装及配置 24
3.2.5 Spark安装及配置 30
3.2.6 Zookeeper安装及配置 31
3.2.7 HBase安装及配置 33
3.3 自动化安装及部署说明 35
3.3.1 自动化安装及部署整体架构设计 35
3.3.2 大数据系统自动化部署逻辑调用关系 36
3.4 本章小结 43
第4章 大数据的获取 44
4.1 使用爬虫获取互联网数据 45
4.2 Python和Scrapy 框架的安装 45
4.3 抓取和解析招聘职位信息 47
4.4 职位信息的落地 51
4.5 两个爬虫配合工作 53
4.6 让爬虫的架构设计更加合理 55
4.7 获取数据的其他方式 57
4.8 使用Sqoop同步论坛中帖子数据 57
4.9 本章小结 59
第5章 大数据的处理 60
5.1 Hive是什么 60
5.2 为什么使用Hive做数据仓库建模 60
5.3 飞谷项目中Hive建模步骤 61
5.3.1 逻辑模型的创建 62
5.3.2 物理模型的创建 67
5.3.3 将爬虫数据导入stg_job表 74
5.4 使用Hive进行数据清洗转换 77
5.5 数据清洗转换的必要性 78
5.6 使用HiveQL清洗数据、提取维度信息 79
5.6.1 使用HQL清洗数据 79
5.6.2 提取维度信息 82
5.7 定义Hive UDF封装处理逻辑 85
5.7.1 Hive UDF的开发、部署和调用 86
5.7.2 Python版本的UDF 89
5.8 使用左外连接构造聚合表rpt_job 92
5.9 让数据处理自动调度 96
5.9.1 HQL的几种执行方式 96
5.9.2 Hive Thrift服务 99
5.9.3 使用JDBC连接Hive 100
5.9.4 Python调用HiveServer服务 103
5.9.5 用crontab实现的任务调度 105
5.10 本章小结 107
第6章 大数据的存储 108
6.1 NoSQL及HBase简介 108
6.2 HBase中的主要概念 110
6.3 HBase客户端及JavaAPI 111
6.4 Hive数据导入HBase的两种方案 114
6.4.1 利用既有的JAR包实现整合 114
6.4.2 手动编写MapReduce程序 116
6.5 使用Java API查询HBase中的职位信息 122
6.5.1 为什么是HBase而非Hive 122
6.5.2 多条件组合查询HBase中的职位信息 123
6.6 如何显示职位表中的某条具体信息 132
6.7 本章小结 133
第7章 大数据的展示 134
7.1 概述 134
7.2 数据分析的一般步骤 135
7.3 用R来做数据分析展示 135
7.3.1 在Ubuntu上安装R 135
7.3.2 R的基本使用方式 137
7.4 用Hive充当R的数据来源 139
7.4.1 RHive组件 139
7.4.2 把R图表整合到Web页面中 145
7.5 本章小结 151
第8章 大数据的分析挖掘 152
8.1 基于Spark的数据挖掘技术 152
8.2 Spark和Hadoop的关系 153
8.3 在Ubuntu上安装Spark集群 154
8.3.1 JDK和Hadoop的安装 154
8.3.2 安装Scala 154
8.3.3 安装Spark 155
8.4 Spark的运行方式 157
8.5 使用Spark替代Hadoop Yarn引擎 160
8.5.1 使用spark-sql查看Hive表 160
8.5.2 在beeline客户端使用Spark引擎 161
8.5.3 在Java代码中引用Spark的ThriftServer 163
8.6 对招聘公司名称做全文检索 168
8.6.1 从HDFS数据源构造JavaRDD 169
8.6.2 使用Spark SQL操作RDD 173
8.6.3 把RDD运行结果展现在前端 174
8.7 如何把Spark用得更好 175
8.8 SparkR组件的使用 177
8.8.1 SparkR的安装及启动 177
8.8.2 运行自带的Sample例子 179
8.8.3 利用SparkR生成职位统计饼图 179
8.9 本章小结 181
第9章 自己动手搭建支撑大数据系统的云平台 182
9.1 云平台架构 182
9.1.1 一期云基础平台架构 182
9.1.2 二期云基础平台架构 184
9.2 云平台搭建及部署 185
9.2.1 安装组件前准备 185
9.2.2 Identity(Keystone)组件 190
9.2.3 Image(Glance)组件 198
9.2.4 Compute(Nova)组件 201
9.2.5 Storage(Cinder)组件 206
9.2.6 Networking(Neutron)组件 210
9.2.7 Ceph分布式存储系统 221
9.2.8 Dashboard(Horizon)组件 230
9.3 Identity(Keystone)与LDAP的整合 232
9.4 配置Image组件大镜像部署 235
9.5 配置业务系统无缝迁移 236
9.6 本章小结 237
参考文献 238
前 言
一个游泳爱好者,最大的烦恼是什么?没有好的教练?缺少好的教材?也许不是。如果哪天自己能拥有一个游泳池,可随时畅游,而且维护成本很低廉,甚至免费,同时还有教练的指导和一些游泳爱好者一起,那应该是一件很美的事。对于一个大数据爱好者,如果也能拥有一个属于自己的大数据实践环境,能够方便、快捷、随时随地使用真实环境,同时还有一些实战性、生产性的项目或课件,与一些志同道合的小伙伴一起攻坚克难,应该也是一件令人期待的事。
“纸上得来终觉浅,绝知此事要躬行”。要掌握一门技术,尤其像大数据相关技术,涉及的内容多,范围广,对环境的要求高,如果只是看看书、看看视频,很难深入理解,更不用说融会贯通了。一些有条件的学生,他们可以搭几个节点,组成一个微型大数据群,照着书中的一些实例练习,但这些练习往往支离破碎,缺乏系统性、生产性,更不用说包含生产性项目中的版本控制、质量管理和流程规范等。而这些对实施生产项目来说很重要,有时其重要性超过了对技术的要求。本书,就是为弥补这些内容而写的。
除了实战性、生产性的课件外,我们还提供了随时随地可操作、可实践的大数据云平台——飞谷云,这是我们自主开发的大数据平台,该平台用户可通过外网登录,与论坛及门户实现无缝连接。此外,还有很多志同道合的大数据爱好者一起学习、一起做项目。
本书主要内容
第1章,介绍我们为什么需要自己动手做大数据系统。
第2章,介绍动手做大数据系统的项目背景、项目架构及相关基础知识。
第3章,介绍大数据系统环境的搭建和配置,主要包括如何搭建和配置Hadoop集群、Sqoop、Hive、HBase、ZooKeeper、Spark、MySQL等,图文并茂,内容翔实。
第4章,介绍大数据系统中数据获取相关技术,包括如何利用爬虫技术获取平面数据和使用Sqoop获取结构化数据。
第5章,介绍大数据系统中数据仓库工具Hive的使用方法及进行ETL的过程详解。
第6章,介绍大数据系统中数据库HBase的使用方法及和Hive之间的数据对接。
第7章,介绍如何使用数据展示利器R来展示HDFS中的数据。
第8章,介绍使用Spark计算模型来实时处理数据及SparkRHive组件的使用。
第9章,介绍如何搭建支撑大数据系统的云平台,以保证大数据系统的稳定性。
读者范围
? 对大数据感兴趣的院校师生。
? 对大数据有一定的基础,还想进一步熟悉整个生态系统的大数据爱好者。
勘误与支持
尽管我们仔细对待本书的写作,由于水平和能力有限,错误还是不可避免的。如果你在书中发现不妥或错误之处,请访问http://www.feiguyun.com/support,留下宝贵意见,我们将非常感谢你的支持和帮助。
致谢
首先要感谢大数据实战团队,参与飞谷云大数据公益项目(www.feiguyun.com)的所有大数据爱好者,正是有了大家的支持和积极参与,才使得从飞谷一期的四个人,发展到目前飞谷七期的近四百人,短短一年多的时间,让我们真正感受到了共同坚持、诚信进取、协同分享的飞谷价值观所带来的收获和快乐,每期的项目线下启动会、交流会、项目结束总结会总能感受到大家积极参与的热情!同时也要感谢苏州大学计算机科学与技术学院何书萍老师、上海理工大学管理学院张帆老师、上海交通大学大数据分析俱乐部蒋军杰同学、中国社科院研究生院孙思栋同学、上海华师大数据分析俱乐部罗玉雪同学、上海大学黄文成同学等。
此外,要感谢飞谷管理团队的各位老师:陈健、刘军、吴嘉瑜、张勤池、王继红、张海峰、许小平、陶方震和刘李涛。诸君对飞谷大数据项目的热心参与及全力配合,是此公益项目得以持续推进的不懈动力。特别感谢为飞谷云提供实战项目的企业数据负责人;飞谷七期电商比价项目提供者——张晓雷先生及飞谷八期汽车推荐模型需求提供者——章水鑫先生,正是有了你们提供的需求、数据和业务指导,才使得飞谷大数据小伙伴们有了学习大数据的真实场景,在实践中体会大数据分析价值和魅力。
飞谷云在全国一些大学还建立了交流群,作为每个群的组织者:中国科技大学张海洋同学、河南工程学院孟祥杰同学、南京农业大学邬家栋同学、西安电子科技大学刘东航同学等,为飞谷公益项目在院校中的推广,亦发挥了积极作用,在此一并表示感谢。
自己动手做大数据系统 下载 mobi pdf epub txt 电子书 格式 2024
自己动手做大数据系统 下载 mobi epub pdf 电子书应该不错吧……听名字就觉得很牛!
评分自己动手做大数据系统的思路没有问题,就像linu也有很多发行版,但也有人选择自己从kernal和gnu代码编译或者自己从scratch开始组装。但全书避而不谈cloudera等发行版有些不妥,完全可以谈谈各自的优势。
评分物流速度和服务非常满意,东西符合购买条件
评分还没看完,适合初学者了解大数据,要想自己搭建感觉描述并不是很详细
评分赶上活动,非常优惠
评分书的质量还好
评分学习了,作为外行大面能看懂,具体编程部分自动忽略,呵呵
评分不错的书本
评分书是正版,纸张质量也不错,正在学习
自己动手做大数据系统 mobi epub pdf txt 电子书 格式下载 2024