大数据开发实战教程目录

大数据开发实战教程目录

一、 课程性质、目的和任务

  1. 本课程目的是让学生了解并掌握四个领域
    (1)大数据系统的起源及系统特征
    (2)大数据系统的架构设计及功能目标设计
    (3)大数据系统程序开发、企业大数据案例分析的内容

  2. 利用真机实验环节以及大数据实训一体机来提升学生对大数据开发的实践能力;

  3. 本课程重点让学生掌握五个方面的内容:
    (1)HDFS 使用操作;
    (2)MapReduce 开发;
    (3)HBase 数据库的开发;
    (4)Hive 数据仓库开发;
    (5)大数据案例分析;

二、 教学内容及要求

第一节 大数据概述

  • 授课学时:1
  • 基本要求:
  1. 了解大数据概念、特征、数据计量单位以及大数据的类型;
  2. 了解大数据系统的设计背景、以及当前大数据系统存在的不足;
  3. 了解大数据系统的设计思想、设计目标和设计原则;
  4. 了解大数据系统的整体逻辑架构设计及运行逻辑,了解当前大数据系统的主流架构;

第二节 大数据应用开发思路和开发环境配置

  • 授课学时:1
  • 基本要求:
  1. 掌握大数据系统应用读写操作的开发流程;
  2. 掌握分析大数据开发技术及思路;
  3. 掌握大数据 Java 开发的环境配置、Plugin 插件的安装,Hadoop 环境配置;

第三节 HDFS 分布式文件系统

  • 授课学时:4
  • 基本要求:
  1. 了解 MapReduce 的设计思想、基本概念;
  2. 了解 MapReduce 的系统架构、作业运行机制和关键技术;
  3. 掌握 MapReduce 的数据类型的自定义以及数据类型的使用;
  4. 掌握 MapReduce 开发,定制输入输出的数据格式;
  5. 掌握将 HDFS 文件系统中整个文件作为输入数据的开发;
  6. 掌握利用 MapReduce 完成小文件聚合成一个大文件的开发;
  7. 掌握压缩数据处理程序开发;
  8. 掌握任务组合过程,掌握迭代组合、并行组合及串行组合;
  9. 掌握任务的前后链式组合;
  10. 掌握多数据源连接的开发,包含 Map 端开发以及 Reduce 端开发;
  11. 掌握 Hadoop 全局参数的使用,全局文件的使用;
  12. 掌握与关系型数据库的访问连接;
  13. 真机实操训练(实验环节 2);

第五节 HBase 分布式数据库

  • 授课学时:4
  • 基本要求:
  1. 了解 HBase 分布式数据库的设计目标、基本概念;
  2. 了解 HBase 逻辑架构以及物理架构;
  3. 掌握 HBase 分布式数据库Shell 命令操作;
  4. 掌握HBase 数据库系统的 Java 开发,包含创建表、删除表,查询所有表操作;
  5. 掌握HBase 数据库系统的 Java 开发,包含插入记录、查询数据,组合查询、修改删除记录等开发;
  6. 真机实操训练(实验环节 3);

第六节 Hive 数据仓库开发

  • 授课学时:6
  • 基本要求:
  1. 了解Hive 数据仓库的工作原理及特点;
  2. 了解Hive 架构设计,包含数据类型、数据存储方式以及查询方式;
  3. 掌握Hive 数据仓库系统的 HQL 语言语法;
  4. 掌握 HQL 的创建表、查看表及查询有结构,修改表以及删除表;
  5. 掌握利用 HQL 语句将 HDFS 的文件导入数据仓库;
  6. 掌握分区表、桶表、外部表的使用;
  7. 掌握 HQL 语句的联合查询、子查询、创建视图等操作;
  8. 掌握利用 Java 开发 UDF 自定义函数,以及自定义函数的使用;
  9. 掌握 Java 连接 Hive 数据仓库进行数据查询;
  10. 真机实操训练(实验环节 4);

第七节 Spark 数据挖掘

  • 授课学时:4
  • 基本要求:
  1. 了解数据挖掘的基本概念和手段,介绍数据挖掘的常用算法、编程语言等;
  2. 了解常用的数据挖掘工具;
  3. 了解最新大数据处理技术 Spark 平台,包括 RDD 基础及编程接口介绍,以及 SparkSQL 逻辑架构, 流式处理技术 SparkStream 等;
  4. 了解介绍 Spark 平台下机器学习(Machine Learning)架构解析,以及 Spark MLlib 经典算法解析和案例;
  5. 案例详解,解析通过 Spark MLlib 的协同过滤算法,来分析某大型电商的商品推荐过程,并说明实现方法和代码;

第八节 综合案例分析

1、 某网站访问日志分析

  • 授课学时:2
  • 基本要求:
  1. 了解网站访问日志的数据结构;
  2. 了解网站访问日志的分析方法以及本次分析日志需要完成的目录;
  3. 了解分析过程以及分析工具的使用;
  4. 大数据环境实验(实验环节 5);

2、某搜索引擎网站日志分析

  • 授课学时:2
  • 基本要求:
  1. 了解搜狐网站对关键词搜索记录的数据结构;
  2. 了解关键词搜索的分析目标及预期完成分析结果;
  3. 了解分析流程、分析工具以及重点代码的介绍;
  4. 大数据环境实验(实验环节 6);

3、某大型电商数据分析

  • 授课学时:2
  • 基本要求:
  1. 了解本案例中电商数据的字段结构;
  2. 了解本次电商数据预期完成分析的指标以及分析结果的再利用介绍;
  3. 了解分析流程、分析工具以及重点代码的介绍;
  4. 大数据环境实验(实验环节 7);

实验环节介绍
实验环节 1:HDFS 操作命令操作
实验目标及要求:
让学生掌握分布式文件系统 HDFS 的文件操作,包含导入导出文件、列表、查找、删除文件等。

实验环节 2:MapReduce 开发(单词计数)
实验目标及要求:
让学生掌握在 HDFS 文件系统内的 Map 及 Reduce 的 Java 开发,实现对指定文本文件的单词计数,将统计结果输出至控制台。

实验环节 3:HBase 数据库命令操作
实验目标及要求:
让学生掌握分布式文件数据库系统 HBase 的数据库操作,包含创建表、删除表、增加列、导入记录、删除记录等。

实验环节 4:Hive 数据仓库基础使用
实验目标及要求:
让学生掌握在 Hive 数据仓库的基本命令的操作,包含创建数据仓库、创建表、删除表、导入及导出数据,统计查询等在 CLI 模式下的使用操作。

实验环节 5:分析网站访问日志
实验目标及要求:
实践在企业应用中的互联网网站访问日志的分析案例,利用 Hive 工具完成对每小时内的访问 PV 及 IP 数据,同时将统计结果输出至网页。

实验环节 6:分析搜索引擎网站日志数据
实验目标及要求:
分析关键字的统计日志的数据,利用 Hive 工具完成对关键词的统计,包含搜索关键词排行、用户习惯点击第几个连接、访问目标网站排行等,同时将统计结果输出至网页。

实验环节 7:分析电商网站数据
实验目标及要求:
对此大型电商数据进行实践分析,利用 Hive 工具完成对商品销售统计,同类商品推荐等分析指标,将分析结果导出至关系型数据库 Mysql。

附录 2:教材目录
第一章 大数据概述 7
1.1. 大数据的起源 7
1.1.1. 豌豆杂交实验 7
1.1.2. 曹冲称象启示 7
1.1.3. 谷歌的三项核心元素 9
1.2. 大数据的概念 9
1.2.1. 大数据概念 10
1.2.2. 大数据的特征 10
1.2.3. 数据计量单位 11
1.2.4. 大数据来源 11
1.2.5. 大数据类型 12
1.3. 大数据系统 12
1.3.1. 系统设计背景 12
1.3.2. 设计目标和原则 13
1.3.3. 系统的设计思想 14
1.3.4. 系统的逻辑架构 16
1.3.5. 与现有系统的关系 17
1.3.6. 当前的大数据系统 19
1.4. 企业的大数据观 25
1.4.1. 企业面临的挑战 25
1.4.2. 企业大数据从哪来 25
1.4.3. 企业大数据如何存储 27
1.4.4. 企业大数据如何加工 31
1.4.5. 企业的大数据到哪里去 35
1.4.6. 企业大数据观总结 37
第二章 大数据系统应用开发思路及环境 38
2.1. 总体思路 38
2.1.1. 大数据读写应用的开发 38
2.1.2. 大数据分析应用的开发 38
2.2. 开发环境 39
2.2.1. Plugin 插件的安装 39
2.2.2. Hadoop 开发环境的配置 39
2.2.3. 示例程序验证 41
第三章 HDFS 分布式文件系统 48
3.1. 设计目标 48
3.2. 基本概念 49
3.2.1. 块 49
3.2.2. 名称节点与数据节点 49
3.3. 系统架构 50
3.3.1. 逻辑架构 50
3.3.2. 物理架构 51
3.4. 运行机制 51

3.4.1. 文件读取 52
3.4.2. 文件写入 53
3.4.3. 特别关注 54
3.5. 系统功能 57
3.5.1. 多文件系统 57
3.5.2. 目录管理 58
3.5.3. 文件管理 59
3.5.4. 文件归档 59
3.5.5. 并行复制 60
3.6. 系统 I/O 特性 61
3.6.1. 完整性校验 61
3.6.2. 压缩与编码解码 62
3.6.3. 序列化 64
3.6.4. 特殊文件结构 65
3.7. 非 Java 访问接口 66
3.8. 系统性能 67
3.8.1. 可靠性措施 67
3.8.2. 性能优化 68
3.9. 程序开发 69
3.9.1. 文件列表 69
3.9.2. 文件读取 71
3.9.3. 文件上传 72
3.9.4. 文件创建 74
3.9.5. 文件写入 75
3.9.6. 文件压缩与解压 76
3.9.7. 压缩写入 77
3.9.8. 解压读取 78
3.9.9. 目录创建 80
3.9.10. 文件重命名 81
3.9.11. 删除文件 83
3.9.12. 查看文件时间 84
3.9.13. 查看文件是否存在 86
3.9.14. 查找文件位置 87
3.9.15. 查找集群所有的节点 89
3.9.16. SequenceFile 文件格式转换 90
3.9.17. 读取 SequenceFile 格式的文件 92
3.9.18. MapFile 文件格式转换 95
3.9.19. 读取 MapFile 格式的文件 97
第四章 MapReduce 分布式编程 99
4.1. 不同于传统 99
4.2. 设计思想 100
4.3. 基本概念 100
4.3.1. map()函数 101
4.3.2. reduce()函数 101

4.3.3. 键值对 102
4.3.4. 中间结果 102
4.3.5. 移动代码 103
4.3.6. 作业和任务节点 104
4.4. 系统架构 104
4.4.1. 逻辑架构 104
4.4.2. 物理架构 106
4.5. 运行机制 106
4.5.1. 作业运行 106
4.5.2. 作业调度 109
4.5.3. 任务执行 109
4.5.4. 状态更新 110
4.5.5. 作业完成 111
4.5.6. 故障处理 111
4.6. 关键技术 112
4.6.1. 计数器 112
4.6.2. 排序 113
4.6.3. 连接 113
4.6.4. shuffle 114
4.6.5. 内存处理 115
4.6.6. 分布式缓存 116
4.7. 类型与格式 117
4.7.1. MR 的类型 117
4.7.2. 输入格式 119
4.7.3. 输出格式 121
4.8. MapReduce 程序开发 122
4.8.1. 定制数据类型 122
4.8.2. 定制输入格式 126
4.8.3. 定制输出格式 131
4.8.4. 将整个文件作为输入 137
4.8.5. 小文件聚合成一个文件 143
4.8.6. 多集合文件输出 145
4.8.7. 对压缩数据处理 148
4.8.8. 定制 partitioner 151
4.8.9. 定制 combiner 155
4.8.10. MapReduce 组合 159
4.8.11. 多数据源连接 175
4.8.12. 全局参数应用 189
4.8.13. 全局文件应用 192
4.8.14. 关系数据库访问 195
第五章 HBase 分布式数据库 204
5.1. 设计目标 204
5.2. 基本概念 205
5.2.1. 逻辑模型 205

5.2.2. 物理模型 206
5.2.3. 区域 207
5.2.4. 基本单元 207
5.2.5. Region 服务器 208
5.2.6. Master 主服务器 209
5.2.7. 元数据表.META 210
5.2.8. 元数据表–ROOT 211
5.3. 系统架构 212
5.3.1. 逻辑架构 212
5.3.2. 物理架构 213
5.4. 运行机制 214
5.5. 系统功能 215
5.5.1. 用户界面 215
5.5.2. Shell 操作 218
5.6. 库表设计 220
5.7. 访问接口 221
5.8. 程序开发 222
5.8.1. 创建表 222
5.8.2. 删除表 225
5.8.3. 查询表 226
5.8.4. 插入记录 228
5.8.5. 查询记录 229
5.8.6. 修改记录 240
5.8.7. 删除记录 242
第六章 Hive 数据仓库开发 244
6.1. Hive 介绍 244
6.1.1. Hive 工作原理 244
6.1.2. Hive 数据类型 245
6.1.3. Hive 的特点 246
6.2. Hive 架构 248
6.2.1 Hive 用户接口 248
6.2.2 Hive 元数据库 250
6.2.3 Hive 的数据存储 251
6.2.4 Hive 解析器 252
6.3. Hive 文件格式 253
6.3.1 TextFile 格式 254
6.3.2 SequenceFile 格式 254
6.3.3 RCFile 文件格式 254
6.4. HiveQL 语言 257
6.5. HiveQL 表操作 257
6.5.1. 内部表 257
6.5.2. 外部表 264
6.5.3. 分区表 265
6.5.4. 桶表 269

6.5.5. 视图 271
6.6. HiveQL 查询 272
6.6.1. 连接 272
6.6.2. 子查询 275
6.7. UDF 编码 276
6.7.1. 加入 jar 包 277
6.7.2. 命名函数 277
6.7.3. 调用测试函数 277
6.7.4. 移除 jar 包 278
6.8. UDAF 编码 278
6.8.1. 在 Hive 中加入 jar 包。 279
6.8.2. 命名成一个函数。 280
6.8.3. 调用测试函数 280
6.8.4. 在 Hive 中移除 jar 包 280
6.9. 客服端编码 280
6.9.1. 与 hive 服务器端连接建立 281
6.9.2. 与 hive 进行指令交互 282
6.9.3. 客户端命令组织 282
第七章 Spark 数据挖掘 284
7.1. 概述 284
7.1.1. 简述数据挖掘历程 284
7.1.2. 传统商业版数据挖掘工具 284
7.1.3. 免费开源的数据挖掘技术 284
7.1.4. 常用的数据挖掘的算法与编程语言 285
7.1.5. 数据挖掘技术 Spark 286
7.1.6. Spark 与 mapreduce 的区别 289
7.2. Spark 数据分析处理 290
7.2.1. Spark Core 290
7.2.2. Spark SQL 294
7.2.3. Spark Streaming 298
7.3. Spark MLlib 机器学习 302
7.3.1. Spark MLlib 的简述 302
7.3.2. Spark MLlib 架构解析 302
7.3.3. Spark MLlib 经典算法解析 303
第八章 综合案例分析 304
8.1. 网站访问日志分析 304
8.1.1. 项目来源 304
8.1.2. 数据情况 304
8.1.3. 项目架构 306
8.1.4. 项目目标 306
8.1.5. 数据表结构设计 306
8.1.6. 统计分析过程 307
8.1.7. 成果展示 308
8.2. 搜索引擎网站关键字日志分析 309

8.2.1. 项目来源 309
8.2.2. 数据情况 310
8.2.3. 项目架构 310
8.2.4. 项目目标 310
8.2.5. 数据表结构设计 311
8.2.6. 统计分析过程 311
8.2.7. 成果展示 319

你可能感兴趣的:(课工场)