《Hadoop大数据原理与应用》教学大纲、授课计划_第1页
《Hadoop大数据原理与应用》教学大纲、授课计划_第2页
《Hadoop大数据原理与应用》教学大纲、授课计划_第3页
《Hadoop大数据原理与应用》教学大纲、授课计划_第4页
《Hadoop大数据原理与应用》教学大纲、授课计划_第5页
已阅读5页,还剩21页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

西京学院《大数据技术原理及应用》课程教学大纲

课程基本信息

(-)课程中文名称:大数据技术原理及应用代码:

(二)课程英文名称:PrinciplesandApplicationsofBigDataTechnology

(三)课程性质:专业必修课程

(四)课程学分:3学分(理论2学分实验1学分)

(五)适用专业:数据科学与大数据技术,计算机科学与技术

(六)开课单位:计算机学院

二、课程教学目标

(-)课程定位

《大数据技术原理及应用》是学习大数据技术的入门课程,是计算机科学与

技术、数据科学与大数据技术等专业的一门学科基础与专业核心课程。该课程着

重讲述大数据技术的知识体系,阐明其基本原理,引导学生进行初级实践和了解

相关应用,培养学生运用大数据平台搭建、数据采集与预处理、数据迁移、大数

据存储与管理、大数据处理与分析、数据可视化等方法和技术工具完成大数据应

用的能力,在整个大数据课程体系中起着承前启后重要作用。该课程由理论教学

和实验教学两个部分组成,其先修课程包括面向对象程序设计、Pylhon语言程序

设计、操作系统、数据库原理,后续课程包括数据采集与预处理、大数据存储与

管理技术、数据挖掘、大数据开发技术、大数据高级编程、数据可视化技术。

(-)课程目标

《大数据技术原理及应用》围绕“构建知识体系、阐明基本原理、引导初级

实践、了解相关应用”的指导思想,着重讲述大数据技术的基本原理、基本方法、

技术工具和相关应用,帮助学生构建完整的大数据技术知识体系,使学生了解大

数据技术在行业领域中的最新发展趋势和前沿知混,熟悉大数据应用的整个生命

周期,能够熟练使用Hadoop等主流大数据平台及其生态系统中的技术工具完成

基本的大数据应用闭环操作,达到知行合一、以用促学的目的。

知识目标:

1.理解大数据基本概念,了解大数据与云计算、物联网、人工智能的关系,

了解当前大数据的岗位及需求、学习路线;

2.认识大数据处理平台Hadoop,熟练掌握全分布模式Hadoop集群的部署

基本过程;

3.理解分布式文件系统HDFS的体系架构、文件存储机制和数据读写过程,

熟练掌握HDFSWebUI的使用、HDFSShell常用命令的使用和HDFS编程;

4.理解分布式计算框架MapReduce的编程思想和作业执行流程,掌握

MapReduce简单编程,了解当前其他主流的大数据计算框架如Spark>Storm、

Flink等;

5.理解YARN体系架构和工作原理,掌:握YARNWebUI、YARNShell的基

本使用,了解ResourceManager高可用机制的原理与配置,了解HDFSNameNode

高可用机制、HDFSNameNodeFederation>HDFSSnapshots;

6.理解分布式协调框架ZooKeeper的执行原理和应用场景,掌握ZooKeeper

集群的部署和ZooKeeperShell常用命令的使用;

7.理解NoSQL数据库与关系数据库的区别,分布式数据库HBase的数据模

型、体系架构和运行机制,熟练掌握HBase集群的部署、HBaseShell常用命令

的使用:

8.理解Hive的体系架构和执行流程,掌握Hive的部署和连接方式,熟练

掌握Hive基本操作包括HiveDDL>HiveDML的书写和HiveShell命令的使用;

9.理解数据迁移框架Sqoop、日志采集系统Flume、分布式发布/订阅消息系

统Kafka的作用、架构和工作原理,掌握Sqoop、Flume、Kafka的部署和使用;

10.了解数据可视化的概念、作用和过程,理解常用的数据可视化图形,了

解当前主流的数据可视化工具。

能力目标:培养学生学以致用,能够综合利用Hadoop大数据平台及其生态

中各个工具解决实际大数据应用方面的基本问题,提高学生阅读外文科技文献能

力,增强学生发现问题、分析问题、解决问题能力,与学科竞赛和项目紧密结合,

稳步培养和提高学生的动手实践能力、自主创新能力、团队协作能力、写作表达

能力。

情感目标:通过对我国大数据技术、传统优秀文化的介绍,增强学生的民族

自豪感,提升学生的爱国主义精神,增强文化自信;将专业知识与服务社会相结

合,培养学生的社会责任感,树立正确三观,使学生更为深刻的理解专业内涵,

提高学习内驱力,培养科学素养,内化为道德准则、科学思维和行为规范。

三、课程教学内容

1.理论教学

第一章大数据概述

内容与目标:

理解大数据的内涵与特征;了解大数据的影响、应用、关键技术;了解大数

据与云计算、物联网、人T智能的关系:了解当前大数据的岗位及需求、学习路

线。

1.1大数据内涵与特征

1.2大数据影响

1.4大数据应用

L5大数据关键技术

1.6大数据与云计算、物联网、人工智能的关系

1.7大数据岗位介绍

1.8大数据学习路线图

重点难点:重点为理解大数据的内涵和特征。

学习要求:课后借阅书籍《大数据时代:生活、工作与思维的大变革》。

思考题(案例):大数据对思维方式的影响。

作业:

(1)完成章节测试。

(2)课后查阅资料,预习大数据处理平台Hadoop。

课程思政:(1)新冠疫情对人们生产、生活造成很大的影响,疫情期间各部

门用大数据工具开展疫情筛查、轨迹分析、数据统计等一系列工作,大数据分析

在疫情态势研判、疫情防控部署等任务中发挥了重要的作用。可组织学生结合自

身感受和体验,讨论大数据在疫情控制中还能发挥哪些作用?还有哪些环节可以

做得更好?进而引申出问题,面对疫情应该怎么做?培养学生数据思维、辩证思

维、创新思维等能力,鼓励学生专业学习与服务社会相结合。(2)由大数据时代

引入中国古代大数据,推荐阅读王建编写的《易经:中国古代的大数据》,增强

学生对我国古代灿烂文明的自豪感,坚定文化自信;另外,由三次信息化浪潮引

入数“数字中国”战略及取得成就,引导学生深刻认识数据资源蕴含的巨大能量,

为国家高质量发展贡献力量,培养学生爱国主义精神。(3)由大数据思维引入“我

为人人、人人为我”,引导学生培育助人为乐的精神、奉献社会的责任感,培养

学生践行社会主义核心价值观中的“和谐”。(4)由大数据安全引入社会主义核

心价值观“法治”,通过案例提高学生对信息安全的认知,培养学生的信息安全

意识和国家信息安全意识。

第二章初识Hadoop

内容与目标:

了解大数据处理平台Hadoop的来源、发展史、应用、版本、生态系统;理

解Hadoop的体系架构、运行模式;熟练掌握全分布模式Hadoop集群的部署基

本过程。

2.1Hadoop概述

2.2Hadoop生态系统

2.3Hadoop体系架构

2.4Hadoop应用现状

2.5部署Hadoop

重点难点:重点为理解Hadoop的体系架构、运行模式;难点为熟练掌握全

分布模式Hadoop集群的部署。

学习要求:课前查阅资料,预习大数据处理平台Hadoop;课后参照实验指

导书,自行实践部署Hadoopo

思考题(案例):部署Hadoop单机模式、伪分布模式、全分布模式的异同点。

作业:

(1)完成章节测试。

(2)课后参照实验指导书,自行实践部署Hadoop。

(3)课后查阅资料,试读Google论文《TheGoogleFil。System》,预习分布

式文件系统HDFS。

课程思政:(1)介绍Hadoop发展史,学习前辈们刻苦钻研、攻坚克难的科

学素养。(2)将唯物辩证法中整体与局部思想融入Hadoop设计原理讲述中,

Hadoop版本选择可以和“具体问题具体分析”思想融合。(3)部署Hadoop实验

部分则可以培养学生的自学能力和实践能力,将提高学生科学素养渗透到实验中。

第三章分布式文件系统HDFS

内容与目标:

了解HDFS的来源、功能、优缺点;理解HDFS的体系架构、文件存储机制

和数据读写过程;熟练掌握HDFSWebUI、HDFSShell常用命令的使用;掌握

HDFS常用JavaAPI的编程。

3.1HDFS简介

3.2HDFS体系架构

3.3HDFS文件存储机制

3.4HDFS数据读写过程

3.5实战HDFS

3.5.1HDFSWebUI

3.5.2HDFSShell

3.5.3HDFSJavaAPI编程

3.6HDFS高可靠机制

重点难点:重点为理解HDFS的体系架构、文件存储机制和数据读写过程,

熟练掌握HDFSWebUI、HDFSShell常用命令的使用,掌握HDFS常用JavaAPI

的编程;难点为理解HDFS的文件存储机制,掌握HDFS常用JavaAPI的编程。

学习要求:课前查阅资料,预习Hadoop分布式文件系统HDFS;课后参照

实验指导书,自行实践HDFSWebUI的基本使用,HDFSShell常用命令的使用,

HDFS常用JavaAPI的编程。

思考题(案例):分布式文件系统的设计需求和设计目标。

作业:

(1)完成章节测试U

(2)课后参照实验指导书,自行实践HDFSWebUI、HDFSShell、HDFS

JavaAPE

(3)课后查阅资料,试读Google论文《MapReduce:SimplifiedDataProcessing

onLargeClusters》,预习分相式计算框架MapReduceo

课程思政:(1)由HDFS的优缺点引入唯物辩证法中“矛盾是对立统一的”,

因引入中国优秀传统文化《吕氏春秋•用众》:“物固莫不有长;莫不有短;人亦

然。故善学者假人之长补其短。”培养学生要树立终身学习的意识,取长补短,

不断完善自我、超越自我。(2)由HDFS单点故障问题引入“主次矛盾思维一一

瓶颈法”,培养学生的科学素养。

第四章分布式计算框架MapReduce

内容与目标:

了解MapReduce的来源;理解MapReduce计算框架思想、MapReduce1.()体

系架构;深刻理解MapReduce作业的执行流程;理解M叩Reduce的数据类型;

T解MapReduceWebUI、MapReduceShell的基本使用;掌握MapReduce简单

编程;了解当前其他主流的大数据计算框架如内存计算框架Spark的生态系统、

体系架构、部署方式,以及如流计算框架Slorm、Flink等的设计思想、体系架构

等。

4.1MapReduce简介

4.2第一个MapReduce案例:WordCount

4.3MapReduce作业执行流程

4.4MapReduce数据类型与格式

4.5Shuffle机制

4.6在MapReduce中自定义组件

4.7实战MapReduce

4.7.1MapReduceWebUI

4.7.2MapReduceShell

4.7.3MapReduceJavaAPI编程

4.8MapReduce调优

4.9其它主流计算框架

重点难点:重点为理解MapReduce计算框架思想、MapReduce1.0体系架构,

深刻理解MapReduce作业的执行流程,掌握MapReduce基本编程;难点为深刻

理解MapReduce作业的执行流程,掌握MapReduce基本编程。

学习要求:课前看阅资料,预习Hadoop分布式计算框架MapReduce;课后

参照实验指导书,自行实践MapReduceWebUI、MapReduceShell的基本使用,

MapReduce基本编程。

思考题(案例):M叩Reduce可用于对数据进行排序,一种想法是利用

M叩Reduce的自动排序功能,即默认情况下,Reduce的输出结果是有序的,则

可以只使用一个Reducer来对数据进行处理、输巴,则结果就是有序的了。但这

样的排序过程无法充分利用M叩Reduce的分布式优点。试设计一个基于

MapReduce的排序算法,假设数据均位于[1,100],Reducer数量为4,升序输出

或降序输出均可。

作业:

(1)完成章节测试。

(2)课后参照实验指导书,H行实践M叩ReduceWebUI、M叩ReduceShell,

并尝试简单的MapReduce编程。

(3)课后查阅资料,预习Hadoop新特性,包括YARN新特性和HDFS新

特性。

课程思政:由M叩Reduce设计思想“分而治之”,引入秦始皇实施的郡县制,

并引入《孙子兵法》的《兵势》篇“治众如治寡,分数是也”,让学生感受中国

璀璨历史,增强民族自信心和自豪感,培养学生践行社会主义核心价值观中的“爱

国”。

第五章统一资源管理和调度框架YARN

内容与目标:

了解MapReduce1.0存在的问题及YARN产生背景;理解YARN体系架构

和工作流程;掌握YARNWebULYARNShell的基本使用;了解ResourceManager

RestartsResourceManagerHA>YARNFederalion的原理与配置;了解其他统一资

源管理调度框架。

5.1初识YARN

5.1.1MapReduce1.()存在的问题

5.1.2YARN简介

5.1.3YARN发展目标

5.2YARN体系架构

5.3YARN工作流程

5.4实战YARN

5.4.1YARNWebUI

5.4.2YARNShell

5.4.3YARNJavaAPI编程

5.5YARN新特性

5.5.1ResourceManagerRestart自动重启机制

5.5.2ResourceManagerHA高可用机制

5.5.3YARNFederation联邦机制

5.6其他统一资源管理调度框架

重点难点:重点为理解YARN体系架构和工作原理,掌握YARNWebUI、

YARNShell的基本使用;难点为了解ResourceManager自动重启、

ResourceManager高可用机制和YARN联邦机制的原理与配置。

学习要求:课前查阅资料,预习YARN;课后参照实验指导书,自行实践

YARNWebUI、YARNShell的基本使用。

思考题(案例):完成HDFSNameNode高可用机制和YARNResourceManager

高可用机制环境的搭建。

作业:

(1)完成章节测试。

(2)课后参照实验指导书,自行实践YARNWebUI、YARNShell,再次尝

试MapReduce编程。

(3)课后查阅资料,预习分布式协调框架ZooKeeper。

课程思政:由Hadoopl.O到2.0的巨大变化,引入我国科技创新情况,向学

生介绍蛟龙号、北斗三号、墨子号等科技创新成果,鼓励学生树立远大志向、脚

踏实地、艰苦奋斗,承担起民族复兴的历史事任,培养学生爱国主义精神。

第六章分布式协'周框架ZooKeeper

内容与目标:

了解ZooKeeper的设计目标、数据模型;理解ZooKeeper的执行原理;了解

ZooKeeper的典型应用场景;熟练掌握ZooKeeper集群的部署、ZooKeeperShell

常用命令的使用;了解ZooKcepcr编程。

6.1初识ZooKeeper

6.2ZooKeeper工作原理

6.3ZooKeeper典型应用场景

6.4部署ZooKeeper集群

6.5实战ZooKeeper

6.5.1ZooKeeper四字命令

6.5.2ZooKccpcrShell

6.5.3ZooKeeperJavaAPI编程

重点难点:重点为理解ZooKeeper的执行原理,熟练掌握ZooKeeper集群的

部署、ZooKeeperShel】常用命令的使用;难点为了解ZooKeeper编程。

学习要求:课前查阅资料,预习分布式协调框架ZooKeeper;课后参照实验

指导书,自行实践ZooKeeper集群的部署,ZooKeeperShell常用命令的使用。

思考题(案例):假设有两个线程,两个线程要同时到MySQL中更新一条

数据,对数据库中的数据进行累加更新。由于在分布式环境下,这两个线程可能

存在于不同机器上的不同JVM进程中,所以这两个线程的关系就是跨主机和跨

进程的,使用Java中的synchronized锁是无法实现的。思考如何使用ZooKcepcr

实现分布式锁?

作业:

(1)完成章节测试。

(2)课后参照实验指导书,自行实践ZooKeeper集群的部署,ZooKeeper

Shell常见命令的使用。

(3)课后查阅资料,试读Google论文《Bigtable:ADistributedStorageSystem

forStructuredData》,预习分布式数据库HBase«

课程思政:ApacheZooKeepcr是GoogleChubby的开源实现,和Chubby相

比,Zookeeper做了很多突破,由此引入鲁迅先生的《拿来主义》,“运用脑髓,

放出眼光,自」来拿,培养学生批判地继承文化遗产,取其精华去其糟粕,继

而延伸到专业编程能力培养上,先模仿后修改再创新。

第七章分布式数据库HBase

内容与目标:

理解NoSQL数据库与关系数据库的区别、NoSQL的四大类型;了解HBase

的发展历程、功能和特点;理解HBase的数据模型、体系架构、运行机制;熟练

掌握HBase集群的部署、HBaseShell常用命令的使用;了解HBaseWebUI的使

用、HBaseJavaAPI简单编程;了解HBase性能优化策略。

7.1NoSQL简介

7.2初识HBase

7.3HBase数据模型

7.4HBase体系架构

7.5HBase运彳亍机制

7.6部署HBase集群

7.7实战HBase

7.7.1HBaseWebUI

7.7.2HBaseShell

7.7.3HBaseJavaAPI编程

7.8HBase性能优化

重点难点:重点为理解HBase的数据模型、体系架构、运行机制,熟练掌握

HBase集群的部署、HBaseShell常用命令的使用;难点为熟练掌握HBaseShell

常见命令的使用,了解HBase常用JavaAPI的简单编程。

学习要求:课前查阅资料•,预习分布式数据库HBase;课后参照实验指导书,

自行实践HBase集群的部署、HBaseShell常见命令的使用。

思考题(案例):当一台Region服务器意外终止时,Master如何发现这种意

外终止情况?为了恢复这台发生意外的Region服务器上的Region,Master应该

做出哪些处理?

作业:

(1)完成章节测试。

(2)课后参照实验指导书,自行实践HBase集群的部署、HBaseShell常用

命令的使用。

(3)课后查阅资料,预习数据仓库Hive。

课程思政:(1)介绍数据库在大数据时代的创新机遇,鼓励学生勇于创新。

(2)由HBase存储原理引入马克思主义哲学“整体与部分”,进而引入歌曲《国

家》“家是最小国,国是千万家”,推荐观看公益短篇《家国天下》,强调重视家

庭、注重家教、培育家风的重要性,使学生承担起对家庭和国家的使命与担当,

培养学生家国情怀。(3)HBaseShell命令实践时,缺少一个空格、一个引号等微

小问题就会导致结果不正确,引导学生遵守工程技术规范,养成认真严谨的治学

态度。

第八章数据仓库Hive

内容与目标:

了解Hive的产生背景和设计目的;理解Hive的体系架构和执行流程;熟练

掌握Hive的部署和Hive的连接方式包括CLI、HiveServer2/beeline.HWI;熟练

掌握Hive基本操作包括HiveDDL、HiveDML的书写和HiveShell命令的使用;

了解Hive的函数和优化策略。

8.1初识Hive

8.2Hive体系架构和执行流程

8.3Hive数据存储模型

8.4Hive函数

8.5部署Hive

8.6实战Hive

8.6.1HiveQLZDDL

8.6.2HiveQL之DML

8.6.3HiveShell

8.6.4HiveAPI

8.7Hive优化策略

重点难点:重点为理解Hive的体系架构和执行流程,熟练掌握Hive表、分

区、分桶的定义、应用场景和使用方法,熟练掌握Hive的部署和连接方式,熟

练掌握Hive基本操作包括HiveShell命令和HiveQL语句的使用;难点为Hive

函数,HiveQL语句,HiveAPI和优化策略。

学习要求:课前查阅资料,预习数据仓库Hive;课后参照实验指导书,自行

实践Hive的部署、HiveShell命令的使用、HiveQL语句的书写。

思考题(案例):使用Hive完成用户访问量T0P5统计。数据字段格式为:

url、session_id>referer、ip、end_user_id>city_id,分隔符为制表符。

作业:

(1)完成章节测试。

(2)课后参照实验指导书,自行实践Hive集群的部署、Hive表的DDL和

DML操作、Hive内置函数的使用、HiveShell命令的使用。

(3)课后查阅资料,预习数据迁移和采集。

课程思政:由Hive数据仓库引入商业智能(BusinessIntelligence,简称:BI),

指用现代数据仓库技术、线上分析处理技术、数据挖掘和数据展现技术进行数据

分析以实现商业价值。现代信息技术日新月异,引导学生实时关注大数据最新技

术和发展趋势,培养学生建立起终身学习的目标、勇攀高峰的科学精神。

第九章数据采集和迁移

内容与目标:

了解Sqoop的产生背景;理解Sqoop的作用、架构、工作原理;掌握Sqoop

的部署;掌握使用Sqoop完成数据从关系型数据库到Hadoop生态系统的导入、

导出;理解Flume的作用、架构、工作原理;了解Flume的部署类型;掌握Flume

的部署和简单使用;理解Kaflca的作用、架构、工作原理;掌握Kafka的部署和

简单使用。

9.1数据迁移框架Sqoop

9.1.1初识Sqoop

9.1.2Sqoop架构与工作原理

9.1.3安装Sqoop

9.1.4使用Sqoop

9.2日志采集系统Flume

9.2.1初识Flume

9.2.2Flume架构与工作原理

9.2.3安装Flume

9.2.4Flume简单使用

9.3分布式发布/订阅消息系统Kafka

9.3.1初识Kafka

9.3.2Kafka架构与工作原理

9.3.3部署Kafl<a集群

9.3.4Kafka简单使用

9.4ETL工具Kettle

9.4.1初识Kettle

9.4.2Kettle架构与工作原理

9.4.3安装Keltic

9.4.4使用Kettle

重点难点:重点为理解Sqoop、Flume、Kafka和KetUe的作用、架构、工作

原理,掌握Sqoop、Flume、Kafka和KetUe的安装和简单使用。

学习要求:课前查阅资料,预习Sqoop、Flume、Kafka和Kettle;课后参照

实验指导书,自行实践Sqoop、Flume.Kafka和Kettle的安装和简单使用。

思考题(案例):

(1)使用Sqoop以增量的方式导入数据,要求只导入符合某指定条件的数

据到HDFSo

(2)Flume的部署类型包括单一流程、多代理流程、流的合并、多路复用

流,参考官网尝试实践各种类型的配置。

(3)在Kaflca在0.8以前的版本中,一旦某一个Broker宕机,则其上所有

的Partition数据都不可被消费,这与Kafka数据持久性及DeliveryGuarantee的

设计目标相悖。随着集群规模的增加,整个集群中出现该类异常的几率大大增加,

因此在实际生产系统中,如何解决这种问题?

作业:

(1)完成章节测试。

(2)课后参照实验指导书,自行实践Sqoop、Flume和Kafka部署和简单使

用。

(3)课后查阅资料,预习数据可视化。

课程思政:由课程教学中的Sqoop全量导入引发学生思考如何实现Sqo叩增

量导入,养成批判性思维,培养学生文献检索能力、独立解决问题能力。

第十章数据可视化

内容与目标:

了解数据可视化的概念、作用和过程;理解常用的数据可视化图形:了解数

据可视化工具;了解数据可视化的典型案例。

10.1口」视化概念

10.2可视化作用与意义

10.3可视化图表类型

10.4可视化工具

重点难点:重点为理解常用的数据可视化图形;难点为了解数据可视化工具。

学习要求:课前查阅资料,预习数据可视化;课后自行实践几种数据可视工

具的简单使用U

思考题(案例):查阅资料•,找出几个数据可视化的有趣案例。

作业:完成章节测试。

课程思政:儿组看似完全不同的散点图,其背后的数据统计特征却是相同的,

由此引入辩证唯物主义思想,引导学生要透过现象看本质,在看待问题时,不能

只看表面,要深入调查思考其前因后果。

2.其它教学环节(如实习、实验、上机等)

实验一部署全分布模式Hadoop集群

任务:在Linux下部署全分布模式Hadoop集群。

场所:计算机实验室。

内容:

(1)规划部署。

(2)准备机器。

(3)准备软件环境:配置静态IP;修改主机名;编辑域名映射:安装和配

置Java;安装和配置SSH免密登录。

(4)下载和安装Hadoop。

(5)配置全分布模式Hadoop集群。

(6)关闭防火墙。

(7)格式化文件系统。

(8)启动和验证Hadoop。

(9)关闭Hadoopo

教学方法:演示法,实验教学法,任务驱动法,小组讨论。

基本要求:

(1)理解Hadoop的体系架构、运行模式。

(2)熟练掌握Linux基本命令。

(3)掌握静态IP地址的配置、主机名和域名映射的修改。

(4)掌握Linux环境下Java的安装、环境变量的配置、Java基本命令的使

用。

(5)理解为何需要配置SSH免密登录,掌握Linux环境下SSH的安装、免

密登录的配置。

(6)熟练掌握在Linux环境下如何部署全分布模式Hadoop集群。

重点难点:重点为熟练掌握在Linux环境下如何部署仝分布模式Hadoop第

群;难点为理解为掌握Linux环境下SSH的安装、免密登录的配置,熟练掌握

在Linux环境下如何部署全分布模式Hadoop集常。

说明:注意用电安全。

实验二实战HDFS

任务:使用HDFSWebUI和HDFSShell常月命令,编写HDFSJavaAPI常

规操作程序如创建目录、创建文件、重命名、上传本地文件到HDFS、查看文件

位置等。

场所:计算机实验室。

内容:

(1)查看HDFSWebUI界面。

(2)练习HDFSShell文件级命令。

(3)练习HDFSShell系统级命令。

(4)搭建HDFS项目开发环境。

(5)使用HDFSJavaAPI编写HDFS文件操作程序,完成上传本地文件到

HDFS的功能,采用本地执行和集群执行的两种执行方式测试,观察结果。

(6)使用HDFSJavaAPI编写HDFS文件操作程序,完成查看上一步所上

传的文件在HDFS集群的位置的功能,采用本地执行和集群执行的两种执行方

式测试,观察结果。

教学方法:演示法,实验教学法,任务驱动法,小组讨论。

基本要求:

(1)理解HDFS体系架构。

(2)理解HDFS文件存储机制,读取和写入HDFS文件的工作流程。

(3)熟练掌握HDFSWebUI和HDFSShell常用命令的使用。

(4)掌握HDFS项目开发环境的搭建。

(5)掌握使用HDFSJavaAPI编写HDFS文件操作程序。

重点难点:重点为熟练掌握HDFSWebUI和HDFSShell常用命令的使用;

难点为掌握使用HDFSJavaAPI编写HDFS文件操作程序。

说明:注意用电安全。

实验三MapReduce编程(1)

任务:基于M叩Reduce计算框架,使用Java语言编写MapReduce应用程

序,用于实现统计多个文件中英文单词出现的频次u

场所:计算机实验室。

内容:

(1)使用Java语言编写MapReduce应用程序,用于实现统计多个文件中英

文单词出现的频次,并在Hadoop集群上运行该MR-App,查看运行结果。

(2)查看MapReduceWebUI界面。

(3)练习M叩ReduceShell常用命令。

教学方法:演示法,实验教学法,任务驱动法,小组讨论。

基本要求:

(1)理解MapReduce计算框架思想、MapReduce1.0体系架构。

(2)深刻理解MapReduce作业的执行流程。

(3)了解MapReduceWebUI的使用。

(4)了解M叩ReduceShell常用命令的使用。

(5)理解MapReduce的数据类型,了解MapReduce应用程序编写步骤,编

写简单的M叩Reduce应用程序,熟练掌握在Hadoop集群上运行M叩Reduce应

用程序并查看运行结果。

重点难点:重点为理解MapReduce计算框架思想、MapReduce1.0体系架构,

深刻理解MapReduce作业的执行流程,熟练掌握在Hadoop集群上运行MR-App

并瓷看运行结果;难点为深刻理解MapReduce作业的执行流程,理解MapReduce

的数据类型,编写简单的MapReduce应用程序。

说明:注意用电安全。

实验四MapReduce编程(2)

任务:基于M叩Reduce计算框架,使用Java语言编写MapReduce应用程

序,用于实现统计对象中的某些属性。

场所:计算机实验室。

内容:

(1)使用Java语言编写MapReduce应用程序,己知某个超市的结算记录,

从左往右各字段的含义依次是会员编号、结算时间、消费金额和用户身份,要求

计算出会员和非会员的平均消费金额,并在Hadoop集群上运行该MR-App,查

看运行结果。

(2)查看YARNWebUI界面。

(3)练习YARNShell常用命令°

教学方法:演示法,实验教学法,任务驱动法,小组讨论。

基本要求:

(1)继续深刻理解MapReduce作业的执行流程。

(2)掌握MapReduce应用程序的编写。

重点难点:重点为掌握M叩Reduce应用程序的编写;难点为掌握MapReduce

应用程序的编写。

说明:注意用电安全。

实验五部署ZooKeeper集群和实战ZooKeeper

任务:部署ZooKeeper集群,练习ZooKeeperShell常用命令,进行笥单

ZooKeeper编程。

场所:计算机实验室。

内容:

(1)部署ZooKeeper集群。

(2)练习ZooKe叩erShell常用命令。

(3)实战ZooKccpcr编程,实现对zookccpcr文件系统的增删改查。

教学方法:演示法,实验教学法,任务驱动法,小组讨论。

基本要求:

(1)理解ZooKeeper执行原理。

(2)熟练掌握ZooKeeper集群的部署。

(3)熟练掌握ZooKeeperShell常用命令的使用。

(4)了解ZooKeeperJavaAPI,进行简单的ZooKeeper编程。

重点难点:重点为熟练掌握ZooKceper集群的部署、ZooKeepcrShell常用命

令的使用;难点为了解ZooKeeperJavaAPL进行简单的ZooKeeper编程。

说明:注意用电安全。

实验六部署HBase集群和实战HBase

任务:部署HBase集群,查看HBaseWeb界面,练习HBaseShell常用命令,

进行简单HBase编程。

场所:计算机实验室。

内容:

(1)部署全分布式HBase集群。

(2)查看HBaseWeb界面。

(3)练习HBaseShell常用命令。

(4)实战HBase编程。

教学方法:演示法,实验教学法,任务驱动法,小组讨论。

基本要求:

(1)理解HBase数据模型。

(2)理解HBase体系架构和运行机制。

(3)熟练掌握HBase集群的部署。

(4)了解HBaseWeb的使用。

(5)熟练掌握HBaseShell常用命令的使用,

(6)了解HBaseJavaAPI,进行简单的HBase编程。

重点难点:重点为熟练掌握HBase集群的部署、HBaseShell常用命令的使

用;难点为了解HBaseJavaAPI,进行简单的HBase编程。

说明:注意用电安全。

实验七部署Hive和实战Hive

任务:部署Hive,练习HiveQL和HiveShell,进行简单Hive编程。

场所:计算机实验室。

内容:

(1)部署Hive。

(2)配置和查看HiveWeb界面。

(3)练习HiveDDL、HiveDMLo

(4)练习HiveShell命令。

(5)实战Hive编程。

教学方法:演示法,实验教学法,任务驱动法,小组讨论。

基本要求:

(1)理解Hive体系架构和执行流程。

(2)了解Hive的部署模式,熟练掌握本地模式Hive的部署。

(3)熟练掌握Hive的连接方式包括CLI、HiveServer2/beeline>HiveWebo

(4)掌握HiveWeb的配置和使用。

(5)熟练掌握Hive表的DDL、DML操作和HiveShell命令的使用。

(6)了解HiveJavaAPI,进行简单的Hive编程。

重点难点:重点为熟练掌握本地模式Hive的部署,熟练掌握Hive的连接方

式包括CLI、HiveServer2/beeline>HiveWeb,熟缜掌握Hive表的DDL、DML操

作和HiveShell命令的使用;难点为了解HiveJavaAPI,进行简单的Hive编程。

说明:注意用电安全。

实验八安装和简单使用Sqoop>Flume、Kafka

任务:安装Sqoop,练习Sqoop基本命令,使用Sqoop导入导出数据;安装

Flume和简单使用;安装Kafka和简单使用。

场所:计算机实验室。

内容:

(1)安装Sqoop,练习Sqoop基本命令的使用,使用Sqoop导入MySQL数

据至HDFS,使用Sqoop导出HDFS数据到MySQL。

(2)安装Flume和简单使用。

(3)部署Kafka集群和简单使用。

教学方法:演示法,实验教学法,任务驱动法,小组讨论。

基本要求:

(1)理解Sqoop的作用、架构、工作原理,掌握Sqoop的安装,掌握使用

Sqoop完成数据从关系型数据库到Hadoop生态系统的导入、导出。

(2)理解Flume的作用、架构、工作原理,了解Flume的安装类型,掌握

Flume的安装和简单使用。

(3)理解Kaflca的作用、架构、工作原理,掌握Kafka集群的部署和简单

使用。

(4)理解Kettle的作用、架构、工作原理。

重点难点:重点为掌握Sqoop的安装,掌握使用Sqoop完成数据从关系型数

据库到Hadoop生态系统的导入、导出,掌握Flume的安装和简单使用,掌握

Kafka集群的部署和简单使用;难点无。

说明:注意用电安全。

四、教学内容学时分配

课程教学学时分配表

教学环节

理论实验/上机小计

教学时数

(学时)(学时)(学时)

课程内容

第一章大数据概述202

第二章初识Hadoop224

第三章分布式文件系统HDFS428

第四章分布式计算框架MapReduce6410

第五章统一资源管理和调度框架YARN202

第六章分布式协调框架ZooKeeper426

第七章分布式数据库HBase426

第八章数据仓库Hive426

第九章数据采集和迂移224

第十章数据可视化202

合计321648

五、教学参考资料

教材:

[1]徐鲁辉.Hadoop大数据原理与应用[M].西安:西安电子科技大学出版社,

2020年3月.

参考资料:

[2]徐善辉.Hadoop大数据原理与应用实验教程[M].西安:西安电子科技大

学出版社,2020年1月.

[3J林子雨.大数据技术原理与应用(第2版)[M].北京:人民邮电出版社,

2017年1月.

[4]吕林涛.大数据技术及其应用[M].北京:科学出版社,2019年5月.

[5]维克托・迈尔・舍恩伯格,肯尼思・库克耶.盛杨燕等译.大数据时代:生活、

工作与思维的大变革[M].杭州:浙江人民出版社,2013年1月.

[6]TomWhite.Hadoop:TheDefinitiveGuide(4thEdition)[M].O'ReillyMedia,

April2015.

⑺TomWhite,著.王海,译.Hadoop权威指南(第4版)[M].北京:清华大学

出版社,2017年7月.

[8]BillChambers.MatciZaharia.Spark:TheDefinitiveGuidc[M].O'Reilly

Media,February2018.

[9]BillChambers,MateiZaharia,著.张岩峰,译.Spark权威指南[M].北京:中

国电力出版社,2020年4月.

[10]LarsGeorge.HBase:TheDefinitiveGuide[M].O'ReillyMedia,September

2011.

[11]LarsGeorge,著.代志远,译.HBase权威指南[M].北京:人民邮电出版

社,2013.

[12]EdwardCapriolo,DeanWampler,JasonRuthcrglcn.ProgrammingIIivc[M].

O'ReillyMedia,September2012.

[13]EdwardCapriolo,DeanWampler,JasonRutherglen,著.普坤,译.Hive编程

指南[M].北京:人民邮电出版社,2013.

[14]蔡斌.Hadoop技术内幕:深入解析HadoopCommon和HDFS架构设计

与实现原理[M].北京:机械工业出版社,2013年5月.

|15|董西成Hadoop技术内幕:深入解析MapReduce架构设计与实现原理

[M].北京:机械工业出版社,2013年5月.

[16]董西成Hadoop技术内幕:深入解析YARN架构设计与实现原理[M].

北京:机械工业出版社,2014年1北

[17]ApacheHadoopProject,.

[18]ApacheSparkProject,.

[19]TheHadoopEcosystemTable,https://hadoopecosystemtable.github.io

[20]高校大数据课程公共服务平台./post/bigdata-

teaching-platform.

[21]林子雨.中国大学MOOC《大数据技术原理与应用》.

/course/XMU-1002335004.

六、课程考核

(一)考核方式:考试.

(二)考核方案:平时考核30%,实验考核20%,期末考核50%。把握整个

教学过程的各个环节,从学生的出勤、课堂表现、章节测试、实验完成情况及完

成质量,对学生进行全方位的考核。

考核主要内容及

考核项目考核方式考核时间所占权重

其知识点

到课率,参与态

在线考勤,课堂

平时考核度,作业完成情第1-16教学周30%

表现,章节测试

实脸态度,各实

实脸考核脸重要技术的学实险报告第1-16教学周20%

握情况

机试(选择题、

全部加识考点的

期末考核填空题、上机操第18-19教学周50%

掌握情况

作题)

(三)考核标准:期末考核采取半闭半开机试形式,考核标准按照试卷答案

及评分标准。

教学大纲制定人:

教学大纲审核人:

制定日期:

教师授课计划

20**—20**学年第*学期

课程名称:大数据技术原理及应用课程性质:专业必修课程编写教师:职称:―

总学时:48其中理论学时:实验学时:—里其它学时:旦考核方式:净

教材名称:Hadoop大数据原理与应用主编:徐鲁辉出版社:西安电子科技大学

出版社

适用专业、年级:数据科学与大数据技术专业****级

要求:1.授课计划由教研室主任(团队负责人)召集相关主讲教师集体研究后编写;

2.每个授课单元(2学时)的内容占一格,表格不够可另加附页;

3.任课教师须严格按授课计划教学,进度提前或推迟超过4学时视为教学事故;

4.“讲课”、“实险”、“其它”的填写,应在相应栏画“J”,如果有其它教学内容必

须在备注栏进一步说明;“课程性质”填写公共必修课程、公共选修课程、数学与自然科学

类课程、工程基础类课程、专业基础类课程、专业必修课程、专业方向课程、专业选修课程、

专业实践环节等。

5.授课计划经审核后使用,报院系教务科备案,及课教师人手一份。

教研室主任签字:学院(中心)负责人签字:

教学单位盖章

教学内容备注

序讲实其(如课堂讨

号周课(章节名称、教学内容提要、实验的名

课验它章节论、习题

次称、课堂讨论的题目)

等)

开学第一课头脑风暴,

1.自我介绍问卷调查,

2.课程地位、先修及后续课程在线复习并

.教学目标及知识图谱测试、

111J11.1-3Java

111V1

1.74.课时分配(理论+实验)及进度、教材、Python知

参考资料、上机软件识,导入必

5.考核方式:平时+实验+期末备Linux基

6.雨课堂、学堂云使用方法础操作

教学内容备注

序讲实其(如课堂讨

号周课(章节名称、教学内容提要、实验的名

课验它章节论、习题

次称、课堂讨论的题目)

等)

一、大数据概述章节测试1

L大数据内涵、特征、关键技术、产业

2.大数据与云计算、物联网、人工智能、

5G的关系

3.大数据岗位介绍

4.大数据学习路线图

章节测试2

二、初识Hadcop预习实验1

2.1-l.Hadoop来源、发展史、特点、版本指导书,自

212V1/2

2.42.Hadoop生态系统行实践部署

3.Hadoop体系架构4.Hadoop应用现状Hadoop集

实验1部署全分布模式Hadoop集群

L安装和配置CentOS

321V22.52.安装和配置Java环境实验报告1

3.启动和配置SSH免密登录

4.安装和配置Hadoop

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论