-
绪章绪论
绪论主要介绍课程特点、课程学习目标、课程主要内容、重点与难点等,使大家对课程有一个整体认识。
-
●0.1绪论
绪论主要介绍课程特点、课程学习目标、课程主要内容、重点与难点等,使大家对课程有一个整体认识。
-
●0.2课程访谈
邀请企业工程师、在校生、毕业生代表,分别谈分别谈论本课程中所涉及的知识点在实际工作中有哪些应用、在校生该如何学好这门课,以及学好该课程能为学生就业提供哪些帮助
-
第一章项目需求篇
本篇从项目实际需求入手,进行系统分析,从而设计项目技术解决方案,包括有项目业务背景、项目实施计划,以及项目数据字典介绍部分。
-
●1.1项目业务背景
在电商领域,用户在使用电商平台过程中会留下用户行为数据,本届讲解了对该数据分析的重要性,介绍了什么是数据仓库、数据仓库的优点等基本知识,以及本项目选择进行数据仓库设计与开发的原因。
-
●1.2项目实施计划
本节基于项目业务背景进行分析,介绍项目实施流程规划、技术选型、技术版本、教学实施路径等内容。
-
●1.3项目数据字典介绍
本节介绍项目数据字典。介绍了数据源数据结构字典和hive表数据字典,为后续数据处理过程中理解业务逻辑奠定基础。详细介绍了项目中涉及到的用户行为数据(启动日志、事件日志),以及数据仓库中10张表的数据结构,分析其包含的字段及字段含义。
-
第二章大数据平台部署篇
本篇讲解构建项目开发过程中所使用到的各种大数据技术框架环境,包括Linux系统环境、开发应用软件,以及大数据技术框架的安装部署。
-
●2.1大数据相关开发软件安装
本节讲解在项目开发过程中所使用到的软件,以及每个软件的安装部署。所使用的软件主要有:Vmware、Xshell、Xftp、IDEA、nodepad++等。
-
●2.2Linux操作系统环境配置
大数据的各种应用服务,都需要部署在Linux系统上才能运行,所以本节讲解,linux操作系统的安装部署,以及基本配置,包括克隆虚拟机及免密码登录配置。
-
●2.3Hadoop分布式集群环境搭建
本节讲解Hadoop完全分布式集群搭建的详细流程,以及分布式文件系统HDFS、离线计算框架mapreduce的基本使用
-
●2.4Hive数据仓库服务配置
本节讲解,数据仓库相关服务的安装配置,包含有MySQL环境配置、Hive环境配置。同时带领大家熟悉HQL语言的使用。
-
●2.5Flume原理及安装部署
本节讲解数据采集工具Flume的基本原理,以及Flume的安装部署。在项目中,使用Flume来实现数据的采集。
-
●2.6Sqoop原理及应用
本节讲解数据迁移工具Sqoop的基本原理,以及Sqoop的安装部署。在项目中,使用Sqoop来实现数据的迁移功能。
-
●2.7Zookeeper集群环境搭建
本节讲解Zookeeper集群的安装部署。在项目中,使用Kafka对数据采集系统进行缓冲和消峰,而Kafka的运行需要Zookeeoer来进行分布式协调服务。
-
●2.8Kafka环境搭建及应用
本节讲解Kafka环境搭建及应用。
-
第三章数据采集篇
本篇讲解如何构建项目数据采集系统,将用户行为日志数据的磁盘文件数据,采集到大数据平台HDFS上进行存储。项目中采用Flume--Kafka--Flume的架构实现采集功能,同时使用到了Flume自定义拦截器等功能。
-
●3.1项目数据源及产生方法
本节介绍项目数据源及产生方法,为后续数据采集做准备。主要分析用户行为日志数据结构,讲解如何运行java程序模拟生成项目源数据
-
●3.2Flume脚本设计
本节讲解数据采集系统实现过程中,Flume数据采集及Flume数据消费脚本的设计过程,其中包含通过编程的方式来实现Flume自定义拦截器功能。
-
第四章离线数仓设计与开发篇
本篇是课程的核心部分,也是难点部分。讲解了电商离线数据仓库的分层架构设计,以及每一层的设计与实现。在项目中,数据仓库共分为五层,分别是ODS层原始数据层、DWD层明细数据层、DWS层数据服务层、DWT层数据主题层、ADS数据应用层。
-
●4.1离线数据仓库概述
本节对离线数据仓库进行概述。主要有数据仓库的概念、数据库与数据仓库的区别、数据仓库分层设计的原因及各层功能介绍、数据仓库的特点及发展等内容。
-
●4.2ODS层设计与开发
本节讲解ODS层中启动日志表的设计以及两张表数据的加载操作。
-
●4.3DWD层设计与开发
本节讲解DWD层明细数据层启动日志表的设计,以及表数据的加载操作,主要是对ODS层启动日志表及事件日志表json数据的解析操作,然后进行加载。
-
●4.4DWS层设计与开发
本节讲解DWS层每日设备行为表的设计,以及表数据的加载操作,主要是对DWD层启动日志表,以设备id作为分组条件来进行去重操作,然后进行加载。
-
●4.5DWT层设计与开发
本节讲解DWT层设备主题表的设计,以及表数据的加载操作,主要是对DWS层每日设备行为表进行统计,从而得出每个设备的首次登录时间、末次登录时间,以及累积登录天数,然后进行数据加载。
-
●4.6ADS层设计与开发
本节讲解ADS层设计与开发。主要是活跃用户数据表、每日新增用户数据表、沉默用户数据表、本周回流用户数据表、用户留存率数据表等五张指标表的设计,以及表数据的加载操作,数据加载主要是对DWT层设备主题表和DWS层每日设备行为表的数据进行统计分析,然后进行数据加载。
-
第五章项目数据可视化展示篇
本篇讲解如何将项目中分析的数据进行可视化展示。首先构建MySQL数据表,然后通过Sqoop工具实现数据迁移,最后通过 pycharts工具将数据进行展示。
-
●5.1构建MySQL数据表
本节讲解构建五张表的MySQL数据表结构。五张表为:活跃用户数据表、每日新增用户数据表、沉默用户数据表、本周回流用户数据表、用户留存率数据表。
-
●5.2Sqoop数据迁移
本节讲解使用Sqoop工具,实现项目中的数据迁移。即将Hive中的五张表的表数据加载到上一节建好的MySQL表中。
-
●5.3数据可视化
本节基于5张MySQL数据表,使用pyecharts工具,绘制柱状图、折线图、象形柱状图、饼图、时间线轮播图和水球图,最后,将所有图表汇聚在数据大屏中,进行综合展示。