教育>高职高专>计算机类
Hadoop大数据技术与项目实战  

Hadoop大数据技术与项目实战  "

作者:王小洁,丰泽,陈炯
ISBN:9787121458965
定价:¥59.0
字数:532千字
页数:308
出版时间:2023-08
开本:16开
版次:01-01
装帧:
出版社:电子工业出版社
简介

本书由校企“双元”合作开发,以企业真实项目的实施流程为主线,通过“电商平台用户行为数据分析”项目实战,贯穿Hadoop大数据核心技术,包括项目需求、大数据平台部署、数据采集、离线数据仓库设计与开发和项目数据可视化展示。本书内容主要涉及VMware、Xshell、IDEA等软件的安装配置;Hadoop分布式集群环境搭建; Flume、Kafka、Hive、Sqoop、ZooKeeper等Hadoop生态组件的基本工作原理、搭建及配置方法;使用Flume-Kafka-Flume架构实现数据采集;Hive离线数据仓库的设计与开发;使用pyecharts工具进行数据可视化展示。本书为省级精品在线开放课程配套教材,同时配有课程标准、软件安装包、项目源代码、习题库、微课视频等,可以帮助读者更好地学习本书内容。本书可以作为高等职业院校大数据、云计算、软件技术等相关专业教材,也可以作为从事大数据平台运维、大数据分析、云计算应用等技术人员的参考用书。

前言

从文明之初的“结绳记事”,到文字被发明后的“文以载道”,再到近现代科学的“数据建模”,随着信息技术的不断发展,数据一直伴随着人类的发展变迁。当今,随着物联网、电子商务、社会化网络的快速发展,全球大数据存储量迅猛增长,成为大数据产业发展的基础。 大数据技术正在快速迭代、更新,大数据应用越来越广泛。目前,企业中传统的数据仓库逐步转变、升级为大数据仓库,其数据量、数据形态和技术栈都产生了巨大的变化,也造成大数据技术人才需求量倍增。本书就是为适应当今大数据技术人才需求而设计的。 本书特色 本书是由校企“双元”合作的新形态教材,内容有效融入企业案例及大数据的前沿技术,体现工作岗位标准和岗位工作流程,在项目实施过程中培养学生精益求精的大国工匠精神,引导学生探索未知、追求真理、勇攀科学高峰,激发学生科技报国的家国情怀和使命担当。 本书内容设计主线清晰,内容编排科学合理、梯度明晰。本书以项目实施过程为主线组织教学内容,通过“电商平台用户行为数据分析”项目实战,贯穿Hadoop大数据核心技术,包括项目需求、大数据平台部署、数据采集、离线数据仓库设计与开发和项目数据可视化展示。本书通过理论、实践、项目实战相结合的方式,使读者逐步掌握基于Hadoop大数据技术的相关理论知识、操作技能并具备大数据应用创新能力,以满足大数据技术岗位的职业技能要求。 本书为“岗课赛证”融通的新形态教材,可以作为高等职业院校大数据、云计算、软件技术等相关专业教材,也可以作为从事大数据平台运维、大数据分析、云计算应用等技术人员的参考用书。 本书配套资源丰富,配有课程标准、软件安装包、项目源代码、习题库、微课视频等。本书对应的省级精品在线开放课程“Hadoop大数据技术与项目实战”在智慧树网上线,师生可以登录该网站进行在线学习及资源下载。 本书内容 本书内容分为5个模块。 模块1:项目需求。 在这个模块中,读者可以了解整个项目的业务背景,项目定位、大数据技术的主流应用场景,以及离线数据仓库对企业发展战略的数据支撑作用。同时,读者可以清晰地了解整个项目的实施流程规划、技术选型及版本、项目实施的教学路径、数据源数据结构字典等内容,对项目有一个整体、清晰的认识。 模块2:大数据平台部署。 大数据平台是数据存储和计算的基石。在这个模块中,读者主要学习Hadoop分布式集群环境搭建,以及Flume、Kafka、Hive、Sqoop、ZooKeeper、MySQL等Hadoop生态组件的基本工作原理、搭建及配置方法,用到的主要组件及版本见表1。 表1 组件及版本 序 号 组 件 名 称 版 本 1 Hadoop 3.3.0 2 Flume 1.9.0 3 Kafka 2.7.0 4 Hive 3.1.2 5 Sqoop 1.4.7 6 MySQL 5.7.28 7 ZooKeeper 3.6.5 模块3:数据采集。 在数据采集系统的设计上,项目采用Flume-Kafka-Flume的方式来实现,使数据采集系统可以同时实现离线和实时两种数据传输方式,并对接不同的数据处理引擎。本书主要讲解离线数据传输。 模块4:离线数据仓库设计与开发。 大数据软件环境的安装部署,海量数据的存储,是大数据技术的基础部分。真正体现大数据技术价值的是数据的处理和分析,让数据“开口说话”。所以,本模块从零搭建离线数据仓库,分析各种不同的业务指标,为企业的运营提供决策依据。 模块5:项目数据可视化展示。 数据服务最终是要面向用户的,所以应该以一种简洁、直观的方式,呈现出统计分析的结果数据。在这个模块中,读者要学习使用pyecharts工具对分析结果进行可视化展示。 在整个项目实施过程中,源代码中使用的变量、数据库、文件夹、路径名称等,均为虚构,如有雷同,实属巧合。 致谢 本书由山西职业技术学院的王小洁、陈炯和企业技术人员丰泽担任主编,由山西职业技术学院的任夏荔、李俊华和企业技术人员张秉琛担任副主编,并与华为技术有限公司、山西多元合创教育科技有限公司、山西尚捷智途教育科技有限责任公司联合编写。 其中,模块1由丰泽编写,模块2由李俊华、李红、刘燕楠编写,模块3由陈炯编写,模块4由王小洁编写,模块5由任夏荔编写。在本书的编写过程中,编者参阅了国内外同行的相关著作和文献,谨向各位作者深表谢意! 鉴于编者水平有限,书中难免存在不足之处,恳请广大读者不吝赐教。

目录

绪 论 1 学习目标 1 重点难点 1 学习方法 1 思考与练习 2 模块1 项目需求 3 学习目标 3 项目概述 3 1.1 项目业务背景 3 1.2 项目实施计划 5 1.2.1 项目实施流程规划 5 1.2.2 技术选型及版本 6 1.2.3 项目实施的教学路径 7 1.3 项目数据字典介绍 8 1.3.1 数据源数据结构字典 8 1.3.2 Hive表数据字典 13 素养园地 17 项目总结 17 思考与练习 17 模块2 大数据平台部署 20 学习目标 20 项目概述 20 2.1 大数据相关开发软件安装 20 2.2 Linux系统环境配置 28 2.2.1 安装虚拟机 28 2.2.2 克隆虚拟机 50 2.2.3 虚拟机免密码登录配置 57 2.2.4 Linux项目路径规划 70 2.3 Hadoop分布式集群环境搭建 73 2.3.1 JDK安装配置 73 2.3.2 Hadoop框架介绍及组成 77 2.3.3 HDFS集群配置 79 2.3.4 YARN集群配置 89 2.3.5 HDFS Shell命令行操作 95 2.3.6 HDFS客户端开发环境配置及测试 98 2.3.7 HDFS API基本操作 115 2.3.8 MapReduce原理 121 2.3.9 MapReduce案例——词频统计 122 2.4 Hive数据仓库服务配置 131 2.4.1 MySQL环境配置 131 2.4.2 Hive环境配置 135 2.4.3 Hive与MySQL整合操作及Hive服务启动 138 2.4.4 HQL语句基本操作 141 2.4.5 HQL统计分析案例 143 2.5 Flume原理及安装部署 144 2.6 Sqoop原理及应用 145 2.6.1 Sqoop原理及安装部署 146 2.6.2 Sqoop数据迁移案例 147 2.7 ZooKeeper集群环境搭建 151 2.8 Kafka集群环境搭建及应用 154 2.8.1 Kafka集群环境搭建 154 2.8.2 Kafka常用命令及使用方法 157 素养园地 159 项目总结 160 思考与练习 161 模块3 数据采集 165 学习目标 165 项目概述 165 3.1 项目数据源及产生方法 165 3.2 Flume脚本设计 167 3.2.1 Flume采集原理及流程 167 3.2.2 Flume数据采集脚本设计 170 3.2.3 拦截器链的创建流程 172 3.2.4 ETL拦截器业务逻辑分析 182 3.2.5 分流标记拦截器业务逻辑分析 183 3.2.6 Flume数据采集执行脚本及实现 184 3.2.7 Flume数据消费脚本设计 187 3.2.8 Flume数据消费执行脚本及实现 191 素养园地 195 项目总结 195 思考与练习 195 模块4 离线数据仓库设计与开发 198 学习目标 198 项目概述 198 4.1 离线数据仓库概述 198 4.2 ODS层设计与开发 199 4.3 DWD层设计与开发 204 4.3.1 项目JSON解析函数及应用 204 4.3.2 启动日志表设计及数据加载 206 4.4 DWS层设计与开发 209 4.5 DWT层设计与开发 212 4.5.1 HQL关联查询(1) 212 4.5.2 HQL关联查询(2) 216 4.5.3 HQL关联查询(3) 218 4.5.4 设备主题表设计及数据加载 219 4.6 ADS层设计与开发 222 4.6.1 活跃用户数据表设计及数据加载 223 4.6.2 每日新增用户数据表设计及数据加载 224 4.6.3 沉默用户数据表设计及数据加载 226 4.6.4 本周回流用户数据表设计及数据加载 228 4.6.5 用户留存率数据表设计及数据加载 229 素养园地 243 项目总结 243 思考与练习 243 模块5 项目数据可视化展示 246 学习目标 246 项目概述 246 5.1 创建MySQL数据表 246 5.1.1 大数据报表系统 246 5.1.2 MySQL数据表的创建 247 5.2 Sqoop数据迁移 248 5.3 数据可视化 250 5.3.1 pyecharts可视化工具介绍 251 5.3.2 导入数据、绘制大屏标题 269 5.3.3 绘制柱状图 283 5.3.4 绘制象形柱状图、水球图 287 5.3.5 绘制柱状图与折线图的叠加图 291 5.3.6 绘制轮播图 294 5.3.7 数据大屏展示 297 素养园地 301 项目总结 301 思考与练习 301 课程学习成果评价 304 参考文献 306

作者简介

编辑推荐

作者寄语

电子资料

www.luweidong.cn

下一个