-
第一章数据库概论
本章从数据库的基本概念出发,主要介绍了关系型数据库与非关系型数据库在实际生产环境中的应用场景,并着重描述了本课程后续主要涉及的数据库技术。
-
●1.1数据库的前世今生
数据管理技术的发展经历了人工管理阶段、文件系统阶段和数据库系统阶段。本节主要从这三个数据管理技术向同学们介绍不同数据管理阶段的优缺点,旨在让同学们理解数据库对于数据管理的重要性。
-
●1.2数据库的四个基本概念
数据、数据库、数据库管理系统与数据库系统是数据库中最为重要的四个基本概念。本节主要从这四个基本概念出发,简单介绍数据库的基本组成和概念,旨在让同学们理解数据库的基本构造和工作原理。
-
●1.3数据模型
数据库的构建是从现实世界通过人工的认知抽象,基于数据模型将认知抽象后的数据通过概念模型描述在信息世界中,最后通过逻辑模型与物理模型将信息世界中的数据转化到机器世界之中。本节主要从数据模型出发,简单介绍概念模型与逻辑模型的基本概念,旨在让同学们可以通过所学知识结构化描述现实世界中的数据。
-
●1.4关系型数据库
关系型数据库是目前最为常用的基于关系模型的数据库。本节主要从关系型数据库的完整性概念、关系代数、ER图和数据库范式四个方面描述关系型数据库的一些基本概念,旨在让同学们可以进一步理解设计关系型数据库时的注意事项。
-
●1.5非关系型数据库
非关系型数据库是近年来非常热门的数据库类型,它是对NoSQL数据库的一个统称,主要应用于大数据环境下的数据存储和优化。本节主要从关系型数据库面对大数据应用场景下的局限性说起,简单介绍NoSQL应对这些问题的解决方法与策略,旨在让同学们进一步了解在大数据应用场景下数据存储所需要注意的问题。
-
●1.6Hadoop与Hive
HDFS是目前比较热门的分布式存储开源框架Hadoop的文件管理系统,而Hive则是基于HDFS存在的大数据应用场景下使用SQL作为使用语言的数据仓库技术。本节主要从Hive和HDFS出发,简单介绍大数据场景下为何选择应用Hive和HDFS的组合作为解决方案,旨在让同学们了解本课程后续涉及的主要数据库技术。
-
第二章HiveQL
每种数据库管理系统都拥有自己的语言,Hive也不例外。本章主要从HiveQL出发,介绍了Hive数据库中的基本使用方法,为在实际场景中使用Hive数据库提供基础知识。
-
●2.1数据类型与文件格式
数据类型是数据存储时最重要的属性之一,而作为非关系型数据库的Hive,新增的集合数据类型使得无法简单实用传统的方式在文本文件中分割加载的数据。本节主要从Hive支持的数据类型出发,介绍了通过文本加载Hive数据时应当注意的两三事,旨在让同学们对于集合类型的数据有一个初步的认识。
-
●2.2Hive中的数据库
数据库的创建和使用是Hive基础中的基础。本节从实践的角度出发,实战了如何在Hive中查看、创建和修改数据库,旨在让同学们对Hive命令行界面和数据库有一个初步的认识。
-
●2.3HiveQL创建、修改、删除表
一个数据库是由一张张表组合构建而成的。本节从一个真实的数据挖掘竞赛数据集出发,带着同学们一步一步设计、创建、修改和删除数据表,旨在让同学们可以在自己的生产环境中对数据库中表的管理有一个初步的认识。
-
●2.4HiveQL分区表
Hive是针对大数据应用场景下的数据仓库。因此为了加速大数据的记录查询和管理任务,创建的分区表的概念。本节主要从Hive中涉及的分区表概念出发,通过实战构建Hive数据库中的分区表,旨在让同学们能够通过实践理解分区表对于数据库查询和管理的重要意义。
-
●2.5加载和导出数据
经过前面课程构建的数据库和数据库中的表都还只是空表,并不存储任何实际的数据。本节主要从加载和导出数据的实战出发,演示了几种常用的数据加载和导出方法,旨在让同学们可以在实际应用中完成数据库构建任务的最后一步——数据加载。
-
●2.6HiveQL查询语句
数据库记录数据的最主要作用就是供用户对数据库中的数据进行复合式的查询响应。本节从HiveQL的查询语句出发,实践了Hive数据库中常用的查询语句关键字和组合用法,旨在让同学们在拥有了自己的数据库后可以按照特定需求查询返回相应的数据。
-
●2.7HiveQL视图
视图一直是数据库中非常重要的概念,作为保护数据和简化查询的重要手段,常被应用于各种数据库场景中。本节主要从HiveQL的视图实践出发,简单介绍Hive数据库中视图的相关应用,旨在让同学们理解视图的概念并在实际场景中根据需求应用视图。
-
第三章数据库设计与优化
本章主要从数据库设计与优化的角度出发,简单的介绍了数据库中的一些进阶使用技能,为更高效地使用数据库管理系统提供基础知识。
-
●3.1数据库模式设计
数据库的模式设计并不是一件简单的事情,更多的时候是在实践中慢慢学习和提升的。本节主要从几种常用的应用场景出发,介绍了数据库模式设计的两三事,旨在让同学们构建数据库模式设计的思维,在未来遇到类似应用场景的时候可以举一反三。
-
●3.2数据库调优技巧
比起数据库模式设计,数据库调优技巧更是数据库从业人员的进阶技能。本节主要从查询过程信息查询、mapper和reducer数量、并行执行和严格模式几个角度出发,简单说一说数据库调优的两三事,旨在让同学们对数据库调优有一个基本了解。
-
●3.3数据压缩
大数据应用场景中,不管是数据的中间结果压缩还是输出结果压缩,都能够有效地提升实际应用的效率。本节主要从中间结果和输出结果压缩的两个场景出发,介绍了压缩编解码器的选择,旨在让同学们了解在这两种场景下对压缩编解码器不同性能的要求。
-
●3.4安全管理
数据库的安全管理是数据的重要保障手段之一。虽然在现阶段的Hive版本中已经将安全管理交由应用层进行集中管理,但安全管理仍然是Hive数据库的重要特性之一。本节主要从文件系统和数据库两个层面的安全与权限管理出发,介绍了Hive的相关安全管理操作,旨在让同学理解安全管理对数据保护的重要性。
-
●3.5Zookeeper锁
事务是数据库中非常重要的概念。事务的存在有效地保障了数据的原子性、一致性、隔离性和持久性,而保障事务ACID性质的数据库技术就是锁。本节主要从事务的4个隔离级别出发,简单介绍了共享锁和独占锁在该场景下的应用,并提供了一个Hive中Zookeeper锁的实践,旨在让同学们可以了解数据库中锁机制的基本概念。
-
第四章Spark与数据挖掘
本章从Spark 概念出发,介绍Spark编程模型,以及数据挖掘系统的组成,最后包括Spark 支持的数据挖掘算法。本章节的内容旨在让同学们熟悉Spark平台,熟悉数据挖掘流程,以及如何利用Spark进行数据挖掘。
-
●4.1Spark概述
Spark是当前使用最广泛的通用内存并行计算框架。 本章节主要解答Spark是什么?Spark与Hadoop的区别是什么?Spark的实际应用场景是怎样的?为什么要学习Spark。通过回答这四个问题旨在让同学们对Spark有一个整体认知。
-
●4.2Spark编程模型
Spark编程模型是使用Spark 进行数据挖掘的第一步。 本节主要向同学们介绍SparkContext、SparkSession、Spark Shell、弹性分布式数据集RDD等一些重要概念,旨在让同学们直观认识Spark编程模型中常用概念与术语。
-
●4.3数据挖掘系统设计
随着大数据时代的快速发展,人们的一举一动,一言一行都成为数据,数据挖掘技术就是从这些杂乱无章的数据中获取有用的知识。本节课从数据挖掘的基础概念出发,重点介绍数据挖掘系统的组成,旨在让同学们对数据挖掘系统流程有整体认知并掌握数据挖掘的常用概念。
-
●4.4Spark MLlib
Spark MLlib 是Spark 平台提供的机器学习库,也是我们后面课程的主要工具。本节课主要介绍Spark MLIib 学习库所支持的算法,以及如何使用Spark 进行机器学习,旨在让同学们了解Spark 提供的机器学习框架,为后续课程打下基础。
-
第五章数据挖掘算法
数据挖掘算法从不同的应用场景分成了分类、聚类、回归等模型,本章主要深入浅出地向同学们介绍不同算法的原理,并在特定的数据集上进行算法的实际应用。
-
●5.1数据预处理
数据质量以及特征构建是数据挖掘的基石。本节主要聚焦于数据本身,重点介绍常用的数据探索方法,数据预处理方法,以及特征抽取方法,旨在提高同学们的数据探索能力,数据分析能力,数据处理能力。
-
●5.2分类模型
分类问题是数据挖掘中最常见的应用场景,对应的分类算法也是最多的,不同的分类算法有不同的应用场景,本节课从多个分类算法的原理出发,分别介绍线性非线性分类算法,旨在让同学们掌握不同方法的优缺点,并在实际使用中采取合适的分类算法。
-
●5.3聚类模型
大数据背景下存在非常多的检索任务,为了提高检索效率往往需要用聚类算法进行初步的筛选,本节课从经典地K-means聚类算法出发,向同学们介绍不同聚类模型的原理,以及聚类模型的评估方法,旨在让同学们掌握对聚类模型的使用以及评估聚类模型的方法。
-
●5.4回归模型
回归模型也是数据挖掘中常见的应用场景,各种指标的预测,如股票走势,能源消耗等。本节课从最小二乘法出发,理解回归问题的不同损失的差别,以及利用梯度下降法求解参数,旨在让同学们对回归模型有深刻理解,能够熟练应用回归模型解决实际问题。
-
●5.5推荐模型
推荐模型给工业界带来了非常丰厚的利润,生活中到处充满了推荐算法的身影,饮食,购物,旅游,音乐几乎涵盖所有领域,本节课主要介绍经典的推荐算法模型,虽然历史久远但由于其算法简单,性能卓越,依然是当前工业界中广泛使用的推荐模型,通过本节课的学习旨在让同学们初步理解推荐系统概念。
-
●5.6文本处理
自然语言处理是人工智能皇冠上的明珠,Spark也提供了非常基础的文本处理算法,tf-idf,word2vec 等算法依然是当前学术界,工业界在文本分类,关键词抽取等领域常用的特征抽取算法,本节课从不同文本特征原理出发,旨在让同学们对文本处理有基础认知,能够利用Spark 完成自然语言处理的基础任务。





