本书简介

如果您是一位在校大学生,对大数据感兴趣,或许也知道使用的企业越来越多,市场需求更是日新月异。但苦于自己基础不够,心有余,而力不足;或许您也看过不少大数据方面的书籍、博客、视频等,但感觉进步不大;或许您是位在职人员,但目前主要使用传统技术,虽然对大数据很有兴趣,也深知其对未来的影响,但因时间不够,虽然有一定基础,常常也是打两天鱼、晒三天网,进展不很理想。

如果您有上述疑惑或正遇到相似问题,这本书或许比较适合您。本书从硬件搭建、软件部署、需求开发实现到结果展示,以纵向角度讲解了生产性大数据项目上线的整个流程。以完成一个实际项目需求贯穿各章节,讲述了Hadoop生态圈中互联网爬虫技术、Sqoop、Hive、HBase组件协同工作流程;并展示了Spark计算框架,R制图软件和SparkRHive组件的使用方法。本书另一大特色,是提供实际操作环境,用户可以在线登录云平台来动手操作书本中的数据和代码。

章节目录

第1章 为什么要自己动手做大数据系统
1.1 大数据时代需要
1.2 实战大数据项目
1.3 大数据演练平台
第2章 项目背景及准备
2.1 项目背景
2.2 项目简介
2.3 项目架构
2.4 操作系统
2.5 数据存储
2.6 数据处理
2.7 开发工具
2.8 调试工具
2.9 版本管理
第3章 大数据环境搭建和配置
3.1 各组件功能说明
3.1.1 各种数据源的采集工具
3.1.2 企业大数据存储工具
3.1.3 企业大数据系统的数据仓库工具
3.1.4 企业大数据系统的分析计算工具
3.1.5 企业大数据系统的数据库工具
3.2 大数据系统各组件安装部署配置
3.2.1 安装的前期准备工作
3.2.2 Hadoop基础环境安装及配置
3.2.3 Hive安装及配置
3.2.4 Sqoop安装及配置
3.2.5 Spark安装及配置
3.2.6 Zookeeper安装及配置
3.2.7 HBase安装及配置
3.3 自动化安装及部署说明
3.3.1 自动化安装及部署整体架构设计
3.3.2 大数据系统自动化部署逻辑调用关系
3.4 本章小结
第4章 大数据的获取
4.1 使用爬虫获取互联网数据
4.2 Python和Scrapy 框架的安装
4.3 抓取和解析招聘职位信息
4.4 职位信息的落地
4.5 两个爬虫配合工作
4.6 让爬虫的架构设计更加合理
4.7 获取数据的其他方式
4.8 使用Sqoop同步论坛中帖子数据
4.9 本章小结
第5章 大数据的处理
5.1 Hive是什么
5.2 为什么使用Hive做数据仓库建模
5.3 飞谷项目中Hive建模步骤
5.3.1 逻辑模型的创建
5.3.2 物理模型的创建
5.3.3 将爬虫数据导入stg_job表
5.4 使用Hive进行数据清洗转换
5.5 数据清洗转换的必要性
5.6 使用HiveQL清洗数据、提取维度信息
5.6.1 使用HQL清洗数据
5.6.2 提取维度信息
5.7 定义Hive UDF封装处理逻辑
5.7.1 Hive UDF的开发、部署和调用
5.7.2 Python版本的UDF
5.8 使用左外连接构造聚合表rpt_job
5.9 让数据处理自动调度
5.9.1 HQL的几种执行方式
5.9.2 Hive Thrift服务
5.9.3 使用JDBC连接Hive
5.9.4 Python调用HiveServer服务
5.9.5 用crontab实现的任务调度
5.10 本章小结
第6章 大数据的存储
6.1 NoSQL及HBase简介
6.2 HBase中的主要概念
6.3 HBase客户端及JavaAPI
6.4 Hive数据导入HBase的两种方案
6.4.1 利用既有的JAR包实现整合
6.4.2 手动编写MapReduce程序
6.5 使用Java API查询HBase中的职位信息
6.5.1 为什么是HBase而非Hive
6.5.2 多条件组合查询HBase中的职位信息
6.6 如何显示职位表中的某条具体信息
6.7 本章小结
第7章 大数据的展示
7.1 概述
7.2 数据分析的一般步骤
7.3 用R来做数据分析展示
7.3.1 在Ubuntu上安装R
7.3.2 R的基本使用方式
7.4 用Hive充当R的数据来源
7.4.1 RHive组件
7.4.2 把R图表整合到Web页面中
7.5 本章小结
第8章 大数据的分析挖掘
8.1 基于Spark的数据挖掘技术
8.2 Spark和Hadoop的关系
8.3 在Ubuntu上安装Spark集群
8.3.1 JDK和Hadoop的安装
8.3.2 安装Scala
8.3.3 安装Spark
8.4 Spark的运行方式
8.5 使用Spark替代Hadoop Yarn引擎
8.5.1 使用spark-sql查看Hive表
8.5.2 在beeline客户端使用Spark引擎
8.5.3 在Java代码中引用Spark的ThriftServer
8.6 对招聘公司名称做全文检索
8.6.1 从HDFS数据源构造JavaRDD
8.6.2 使用Spark SQL操作RDD
8.6.3 把RDD运行结果展现在前端
8.7 如何把Spark用得更好
8.8 SparkR组件的使用
8.8.1 SparkR的安装及启动
8.8.2 运行自带的Sample例子
8.8.3 利用SparkR生成职位统计饼图
8.9 本章小结
第9章 自己动手搭建支撑大数据系统的云平台
9.1 云平台架构
9.1.1 一期云基础平台架构
9.1.2 二期云基础平台架构
9.2 云平台搭建及部署
9.2.1 安装组件前准备
9.2.2 Identity(Keystone)组件
9.2.3 Image(Glance)组件
9.2.4 Compute(Nova)组件
9.2.5 Storage(Cinder)组件
9.2.6 Networking(Neutron)组件
9.2.7 Ceph分布式存储系统
9.2.8 Dashboard(Horizon)
9.3 Identity(Keystone)与LDAP的整合
9.4 配置Image组件大镜像部署
9.5 配置业务系统无缝迁移
9.6 本章小结

实操环境

本书所讲解的大数据分析案例,是以真实生产环境为背景。为了使读者能够实际接触到数据和代码,飞谷云提供在线环境,读者可以操作数据展示界面及登录后台搭建在OpenStack之上的大数据处理集群。

以下是后端集群环境服务器示意图,读者可以使用student用户直接登录到slave01节点上。如读者对登录方式或集群中软件使用有任何疑问,可以自己动手做大数据系统

由于篇幅限制,围绕Hadoop生态圈衍生出的各种技术分支,无法在书中详细描述。我们还提供了由本书作者亲自录制的各种视频资料,读者可以随时随处学习参考。此外,飞谷九期推出的“大数据工程师砺炼计划”目前正在火热招募中,有兴趣的读者亦可报名参加!

关于作者

张魁

张魁
虚拟化工程师,Openstack架构师,苏州某高校云平台架构师,十余年Linux系统运维实践及虚拟化开发经验,4年Linux系统补丁开发经验。先后在美企担任虚拟化应用运维、服务器集群开发运维工程师或系统开发架构师,高校信息中心云平台架构师,主要关注Openstack、Docker及分布式存储等。

张粤磊

张粤磊
DBA、大数据架构师,十余年一线数据处理数据分析实战经验。先后在咨询、金融、互联网行业担任数据平台技术负责人或架构师。主要关注大数据基础平台、大数据模型构建和大数据分析。

刘未昕

刘未昕
从事IT研发和项目管理工作十余年以上。使用多种程序设计语言,目前研究方向主要是大数据生态系统,从事金融、数据仓库等领域研发。五年以上IT行业授课、培训经验,并在多所高校担任外聘讲师。

吴茂贵

吴茂贵
运筹学与控制论专业研究生学历。毕业后主要参与数据仓库、商务智能等方面的项目,期间做过数据处理、数据分析、数据挖掘等工作,行业涉及金融、物流、制造业等。近期主要做复杂数据存储、清理、转换等工作,同时在大数据方面也很有兴趣并投入大量时间和精力,且将持续为之。

购书渠道

您可以选择以下方式网购本书

      

勘误与支持

由于水平和能力有限,尽管我们仔细、认真,但错误还是不可避免。如果您在书中发现不妥或错误之处,请在此处留下您的宝贵意见,我们将非常感谢您的支持和帮助。您也可以直接在QQ群里面进行提问。

您的行业: