大数据技术导论 教案全套 程显毅 第1-8章 绪论、大数据生态-大数据安全_第1页
大数据技术导论 教案全套 程显毅 第1-8章 绪论、大数据生态-大数据安全_第2页
大数据技术导论 教案全套 程显毅 第1-8章 绪论、大数据生态-大数据安全_第3页
大数据技术导论 教案全套 程显毅 第1-8章 绪论、大数据生态-大数据安全_第4页
大数据技术导论 教案全套 程显毅 第1-8章 绪论、大数据生态-大数据安全_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

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

文档简介

教案(首页)课程名称云计算与大数据技术总课时32周课时2课程性质专业课学分2理论课:16课时实践课:16课时任课教师程显毅授课对象计算机相关专业基本教材和主要参考资料教材:大数据导论,程显毅主编,机械工业出版社,2019.4参考书:大数据技术基础李春芳,石民勇著机械工业出版社,2021.6课程目标和要求1.知识目标1)了解大数据的主要来源,掌握大数据的特点和大数据的处理流程。2)树立正确的大数据思维观。3)了解Hadoop主要核心模块HDFS和MapReduce,并了解其他模块的功能。4)通过词频统计案例了解Hadoop的工作机制。5)掌握Hive基本操作。6)掌握Hbase基本操作。7)了解经典大数据应用场景:医疗大数据、交通大数据、教育大数据、电商大数据。2.能力目标1)具备良好的编程能力。2)掌握大数据基本技术与应用,使大数据能够为我所用。3)具有云计算运维能力4)具有自主学习、自我发展的基本能力,能够适应不断变化的未来大数据技术发展的需求。5)分析和解决问题的能力。 6)获得适应未来岗位转变的迁移能力。3.思政目标1)理解全量思维源自量变到质变,大事业都是从点滴小事情积累起来的。2)理解相关思维是善于抓机遇,良机只有一次,错过就不再来。3)理解容错思维源理解和大度,学习别人的优点,完善自身。4)理解数据分析源自发现人生价值,在有限生命中实现无限价值的人生。5)理解数据敏感源自用数据讲故事,用数据展现祖国的发展,感受祖国的强大。6)理解分布式处理源自协作,合作可以充实你的人生。7)理解数据清洗源自质量第一,保证在激烈竞争中利于不败之地。8)理解业务理解源自知己知彼,莫愁前路无知己,天下谁人不识君。9)理解数据安全源自责任重于泰山,少年智则国智,少年强则国强。教学重点和难点重点:hadoop,hbase,hive,flume,spark,zookeeper安装;HDFS,MapReduce,HBase,Hive操作。hadoop,hbase,hive,flume,spark,zookeeper基本结构和工作原理;数据分析全过程:数据清洗,数据变换,数据建模,模型评估,分析报告撰写等。难点:JAVA编程,数据分析报告撰写。授课周次第1周授课时间2021年9月2日课程章节模块1:大数据概论1.1揭秘大数据教学目的1、了解大数据技术产生的历史必然;2、理解大数据的特征;3、理解大数据处理流程;4、理解大数据、云计算、物联网之间的相互关系;5、理解大数据思维的基本原理;内容提要及板书设计自我介绍、点名认识学生;课程介绍、对学生的要求。1.揭秘大数据2.大数据产生的历史必然3.大数据的概念及特征、4.大数据带来的变革5.大数据思维重点、难点及解决方案重点:大数据4V特征,八大变革,四种科学研究范式难点:大数据思维教学内容时间分配序号第1次教学环节时间分配1课程导入(三国故事)1521.1大数据产生2031.2大数据特征2041.3大数据思维305小结5教学手段理论教学形式(在右栏勾选)理实一体教学(√)理论教学()实验()实训()上机(√)作业作业完成方式书面(√)电子()教学后记全量思维源自量变到质变,大事业都是从点滴小事情积累起来的。容错思维源自理解和大度,学习别人的优点,完善自身。相关思维源自善于抓机遇,良机只有一次,错过就不再来。大数据让社会变得透明,折射出的哲理:想要了解世界,先要了解自己注:教案按周次填写,课堂组织和教学过程设计填写在附页中。附页:(第1次)序号具体内容(课堂组织和教学过程设计)授课改进意见及实时教学效果记录新课导入(15’)一、自我介绍、点名认识学生;二、课程介绍、对学生的要求:1、课程定位搭建起通向“大数据知识空间”的桥梁和纽带构建大数据知识体系、阐明大数据基本原理引导大数据初级实践、了解大数据相关应用2学分32学时,理论实践比2:1。2、课程内容理论7个模块模块1:大数据概述模块2:大数据生态系统模块3:大数据存储模块4:大数据分析模块5:大数据可视化模块6:大数据应用模块7:大数据安全实践4个模块(4章)模块1:Hadoop安装与操作模块2:Hbase安装与操作模块3:基于R语言数据分析模块4:基于R语言数据可视化3、考核方式考察,以学生动手考核作为评价依据。学生期末总评成绩:平日成绩30%+期末考试成绩70%平日成绩考核因素:出勤率、上课纪律、回答问题情况、作业情况等;根据多元化评价原则,作业完成情况采用个人自评、小组互评、教师点评等方式。期末考试(半开卷)4、课堂组织通过分组,每次上课按组就座,这样在授课或者考勤过程中,都以小组为单位进行。5、上课要求课堂上要注意听课,禁止说话、睡觉、玩手机等与学习无关的事情;要携带教材、笔;杜绝迟到、早退、旷课等现象,有事情要请假(办理好对应手续),缺课超过1/3课时的学生将取消考试资格;及时上交作业等等。课程学习(70’)模块1:大数据概述1.1大数据让社会变得透明【看视频披萨服务】通过这个视频,大家看到,本来是一个很小的事件,订购披萨,牵涉到用户的银行卡信息、医疗信息、通话信息、定位信息、订酒店信息、家庭信息等。结论:大数据让所有与之相关的数据进行关联,大数据让社会变得透明、让人变得透明。折射出的哲理,想要了解世界,先要了解自己,越是了解自己的个性和需要,就越不容易被外界影响。了解自己则更能找到自己合适的位置。1.2七次信息革命和三次信息浪潮第七次信息革命不是在技术上、机器设备上、软件上或速度上的一场革命,而是一场“概念”上的革命。以往50年信息技术的重点在“技术”上,目的在于提升信息传播范围、传播能力和传播效率。而新的信息革命的重点将会在“信息”上。第一次浪潮,信息处理;第二次浪潮,信息传输第三次浪潮,信息爆炸1.数据产生方式的变革促成大数据时代的来临数据库网络传感器2.云计算是大数据诞生的前提和必要条件大型机客户服务模式Web模式云IaaS—>PaaS—>SaaS云关键技术:分布式计算、分布式存储、多租户、虚拟化云计算本质:从架构到资源全面弹性。1.3

大数据的概念及特征一、大数据画像1、大数据不一定大,强调关联2、强调时效性3、跨领域的数据融合(外卖的例子)二、大数据描述大数据是指利用常用软件工具捕获、管理和处理数据所耗时间和空间超过可容忍程度的数据集。三、大数据4V特点价值:约翰.奈斯比特在他的成名作《大趋势》中层提到:人类正在被信息淹没,缺饥渴于知识。1.4大数据带来的变革一、传图思维与大数据思维二、思维变革(1)全量思维:全量思维源自量变到质变,大事业都是从点滴小事情积累起来的。(2)容错思维容错思维源自理解和大度,学习别人的优点,完善自身。(3)相关思维相关思维源自善于抓机遇,良机只有一次,错过就不再来。总结(5’)1、大数据的本质还不在于“大”,强调的是数据之间的关联。2、大数据让社会变得透明,折射出的哲理:想要了解世界,先要了解自己3、大数据思维的转变。约翰.奈斯比特在他的成名作《大趋势》中层提到:人类正在被信息淹没,缺饥渴于知识。当我们借助手机让世界的每一个角落变得触手可及、让沟通变得毫无障碍、让生活变得五彩缤纷的时候,我们必须承担为此付出的代价——让你以一种赤裸甚至透明的状态呈现在世界面前。举个例子,你早晨八点从A地打车到B地,中午再点个外卖,下午六点再打车回到A地。简单的一天生活,你的信息已经被大数据掌握,根据你出行的时间和地点以及生活习惯整理推断出你家的位置,你公司的位置,你喜欢吃什么。包括你在互联网上浏览过搜索过的一些资讯,都会在电子商务平台上给你推送相关的商品。很多视频网站的会员,甚至通过判断你手机的型号,给你推送的不一样的会员价格。比方说同一个爱奇艺年费会员,用普通的安卓手机充值就是198元,使用苹果手机充值就变成了268元。这种通过大数据进行的价格歧视,需要互联网的监管部门对其进行监管。使用音乐软件听音乐,一首非常冷门的免费音乐,单曲循环多次,一段时间后你就发现这首歌曲竟然开始收费了,或者需要充值会员才可以继续听。要想改变这一状况,唯一的办法就是返璞归真,不用手机,但是,你愿意吗?可以说,在大数据时代,一切事物都是透明的。哪怕是信息时代留给人们的遮羞布,也被大数据时代下手机的“出卖”无情剥夺了,人成为名副其实的“透明人”。目前大数据的发展依然存在诸多挑战,包括七大方面的挑战:业务部门没有清晰的大数据需求导致数据资产逐渐流失;企业内部数据孤岛严重,导致数据价值不能充分挖掘;数据可用性低,数据质量差,导致数据无法利用;数据相关管理技术和架构落后,导致不具备大数据处理能力;数据安全能力和防范意识差,导致数据泄露;大数据人才缺乏导致大数据工作难以开展;大数据越开放越有价值,但缺乏大数据相关的政策法规,导致数据开放和隐私之间难以平衡,也难以更好的开放。但是像可乐贷这样的互联网金融平台,走在行业的前沿,紧跟大数据步伐,才是真正的好平台。

讨论,理解大数据让社会变得透明大数据的本质还不在于“大”,而是以崭新的思维和技术去分析海量数据,揭示其中隐藏的人类行为等模式,由此创造新产品和服务,或是预测未来趋势。大数据思维的转变授课周次第2周授课时间2021年9月9日课程章节第2次课:第1章概论1.2

Linux系统概述教学目的第2次课:1、熟练掌握基本的Linux操作命令内容提要及板书设计第2次课:1.2Linux系统概述:Linux版本、Linux系统目录、Linux命令重点、难点及解决方案第2次课:重点:Linux常用命令难点:tar命令,权限设置命令chmod教学内容时间分配序号第2次教学环节时间分配1Linux简介152Linux目录结构203Linux常用命令204实验报告1305小结5教学手段第1次课:理论第2次课:上机教学形式(在右栏勾选)理实一体教学(√)理论教学()实验()实训()上机(√)作业第2次课:实验报告1作业完成方式书面(√)电子()教学后记正视问题需要勇气,需要肚量,需要实事求是的态度,说到底是一种责任。Windows系统的高普及率,带动了我国信息化技术发展,人民出行、沟通交流变得更加方便。但是,在这些“更加便利”的背后,也给我们种下了可怕的信息炸弹。这颗“炸弹”覆盖程度是前所未有的,世界局势一旦发生变化,爆发信息战争对我国的打击将是难以想象的。试想,系统被入侵后工厂设备突然瘫痪无法生产;供电设施停机大面积停电,影响地面所有通信设施;医院挂号排队、缴费终端瘫痪导致病人无法得到及时的救治等等。这些信息攻击案例在国外其实已经发生过,而且在某一程度上容易造成社会恐慌。所以,在信息系统领域我们急需解决操作系统的依赖性,或尽可能摆脱单一系统的垄断性。注:教案按周次填写,课堂组织和教学过程设计填写在附页中。附页:(第2次)序号具体内容(课堂组织和教学过程设计)授课改进意见及实时教学效果记录导入新课【播放国产操作的未来发展视频】Linux是一种操作系统,操作系统在计算机应用起着重要作用,目前多数人还是在使用windows。国产操作系统主要有中兴新⽀点,麒麟,统信等,但是市场实际占有率⾮常低。影响⼀个操作系统市场占有率的重要原因⽆⾮就是操作系统的⽣态问题,在国产操作系统上很难找到适配的专业性软件。举个简单的例⼦,例如需要使⽤⼯业设计等专业领域软件的⽤户因为国产操作系统缺乏此类软件从⽽选择弃⽤国产系统,⽽国产操作系统⽤户较少⼜导致软件⼚商不太愿意投⼊⼤量资⾦去研发软件。毕竟软件⼚商也是要需要盈利的。所以如果没有⼀个健康良好,能够让双⽅互惠互利的⽣态环境,相信国产操作系统会很难⾛的下去。国家现在也逐渐出台⼀些政策来扶持我们的国产操作系统发展,要求⼀些党政企单位使⽤国产操作系统,提⾼⽤户量,吸引更多软件⼚商去研发适配软件,逐步替代windows和苹果等系统。由于Linux是开源,可以二次开发,我们学习Linux的目的就是为国产操作系统的研发储备人才。新课讲解模块1:大数据概述1.6Linux(1)Linux版本在Linux系统各个发行版中,CentOS系统和Ubuntu系统在服务端和桌面端使用占比最高,网络上资料最是齐全,所以我们建议使用CentOS6.4系统或UbuntuLTS14.04。一般来说,如果要做服务器,我们选择CentOS或者UbuntuServer;如果做桌面系统,我们选择UbuntuDesktop。但是在学习Hadoop方面,虽然两个系统没有多大区别,但是我们强烈推荐新手读者使用CentOS操作系统。虚拟机安装:/sw-search-sp/soft/08/15321/VirtualBox_061_104061_Win.1448355141.exe(2)Linux目录结构

(3)文本编辑器vi(4)Linux系统常用命令命令含义cd/home/hadoop把/home/hadoop设置为当前目录cd..返回上一级目录cd~或cd返回登录目录cd/把用户带到整个目录的根目录cd/root把用户带到根用户或超级用户的主目录;只有根用户才能访问该目录ls查看当前目录中的文件ls-l或ll或ls–l文件名查看文件和目录的权限信息ls-a显示隐藏文件mkdirinput在当前目录下创建input子目录mkdir-psrc/main/scala在当前目录下,创建多级子目录src/main/scalacat/proc/version查看Linux系统内核版本信息catword.txt把word.txt这个文件全部内容显示到屏幕上head-5word.txt把word.txt文件中的前5行内容显示到屏幕上cpword.txt/usr/local/把word.txt文件复制到“/usr/local”目录下rm./word.txt删除当前目录下的word.txt文件rm–rf./test删除当前目录下的test目录及其下面的所有文件rm–rtest*删除当面目录下所有以test开头的目录和文件tar-zxvf*.tgz-C/usr/local/把*.tgz这个压缩文件解压到/usr/local目录下tar-zxvf*.tar.gz把*.gz这个压缩文件解压到当前目录下tar-cfall.tar*.jpg将*.jpg文件打包成all.tarmvspark-2.1.0spark把spark-2.1.0目录重新命名为sparkchown-Rhadoop:hadoop./sparkhadoop是当前登录Linux系统的用户名,把当前目录下的spark子目录的所有权限,赋予给用户hadoopifconfig查看本机IP地址信息exit退出并关闭Linux终端echo$HOSTNAME显示HOSTNAME环境变量的值pwd查看当前目录manls获取ls帮助,获取其它命令帮助同理,等价于ls--helpuseradd–d/usr/sa-msa创建了一个用户sapasswdsa为用户sa设置密码susa切换到用户sajps查看进程chmod777file修改file权限为777ifconfig或ipadr查看当前节点的IPclear或reset或ctrl+l清屏sudo命令用超级用户执行“命令”./当前目录人在旅途中,在特定的生产、工作、学习、生活等实践中,往往会遇到有形或无形、巨大或一般、一种或多种、短时间或长时期等方面的困难。这是正常的、必然的。但是,我们必须以积极的心态了解它、认识它、正视它。困难既有有利的一面,也有不利的一面。不利的一面是,它常常制约、阻碍着人们或事物向良性方向、成功目标发展。困难的出现或存在,往往会使人们的事业或人生遭受不同程度的挫折,增加成功的难度。这是人们熟知的一面。然而,困难也有有利的一面,这一点却常常被人们所忽视。首先,困难可以使人们冷静头脑,清醒认识。因为,一直身处顺境,往往会导致盲目自信,甚至产生骄傲自满情绪,而“骄兵必败”是必然的。其次,困难可以使我们早日发现问题。人们之所以身处困难或困境之中,往往是因为出现了或存在着许多问题。此时,问题充分暴露,便于自我发现,并有助于想出对策加以解决。再次,困难可以检验一个人的品质。如果一个人敢于直面困难,积极主动地寻求解决问题的办法,那么他或迟或早,总会成功。如果一个人被困难吓倒,灰心丧气,无所作为,那么即使困难消除,他也不会走出失败的阴影。人生成功者尤其是那些杰出成功者,从来都是以积极的心态正视困难,乐观地面对困难的。多一些快乐,少一些烦恼,你会惊奇地发现,这不仅会使你的工作与努力充满乐趣,还会让你获得幸福。它把忧虑变为快乐,驱除工作中的痛苦,让生活充满惊喜。你会发现,自己成了一个更优秀,更完美的人。你用充满阳光的心灵轻松地面对困难,保持着自己心灵的和谐。而有的人却因为这些困难而痛苦,失去了心灵的和谐。授课周次第3周授课时间2021年9月16日课程章节模块2:大数据生态系统2.1认识Hadoop2.2HDFS教学目的认识Hadoop理解大数据生态环境:两个核心技术理解HDFS结构及读写原理内容提要及板书设计2.1认识Hadoop1、设计理念(1)处理的数据量巨大;(2)构造成本特低;(3)结构弹性特好;两高:容错、可靠2、Hadoop基础架构:(1)两大核心技术(2)四种计算模式:批处理、流模式、图模式和交互模式2.2HDFS1、HDFS结构2、HDFS读写原理3、HDFS操作重点、难点及解决方案第3次课:重点:HDFS操作难点:HDFS结构教学内容时间分配序号第3次教学环节时间1课程导入5’2一、Hadoop10’3二、核心组件10’一、HDFS结构25’4二、HDFS操作35’4小结5’教学手段第3次课:理论+上机教学形式(在右栏勾选)理实一体教学(√)理论教学()实验()实训()上机(√)作业第3次课:P25:一、二作业完成方式书面(√)电子()教学后记1.⼀⽀优秀的团队,塑造出优秀团队⽂化,⼀个优秀的团队⽂化,酿造出优秀的⼈。2.⼀⼈强,不是强,再强也是⼀只⽺。团队强,才是强,团结起来就是狼。3.⼀个⼈要想成功,除了⾃⾝要有较⾼的素质,还必须要有能够同别⼈合作的精神。4.只有团结才有强⼤的能量,凝聚在⼀起才是团队!5.凝聚团队,聚焦⽬标,为梦想创造⽆限可能。6.能⽤众⼒,则⽆敌于天下矣;能⽤众智,则⽆畏于圣⼈矣。7.⼼往⼀处使叫团队,⼒往⼀处使叫团伙。注:教案按周次填写,课堂组织和教学过程设计填写在附页中。附页:(第3次)序号具体内容(课堂组织和教学过程设计)授课改进意见及实时教学效果记录第3次课:导入新课【播放合作精神视频】从刚才的视频我们明白一个道理,团结就是力量,合作精神,对在当今时代生存发展尤为重要。今天要学习的大数据生态Hadoop是一个分布式集群,只有集群各个节点各尽其责,才能协作处理更大的数据,分布式计算的思维源自分工合作精神,通过课程的学习体会和感悟合作精神。新课讲解1.3大数据生态系统Hadoop一、Hadoop的由来1、小数据时代上网过程用户从客户端发出请求,服务端接受请求并访问数据库,将查询或处理的结果反馈到客户端。2、大数据时代上网过程但当客户端的请求量剧增,服务端的响应能力急剧下降,有些数据无法及时处理,要么就丢弃,要么就等待,造成网络服务无法满足用户的需求,此时就需要一种特别的机制解决这个问题。这个机制就是,将请求通过Flume推送到消息队列Kafka,同时把与请求相关的业务数据通过sqoop推送到消息队列Kafka,Kafka根据任务的轻重缓急,将任务划分为实时计算任务(推送到Spark)和离线计算任务(推送到HDFS).Flume、Kafka、sqoop、Spark、HBase、HDFS、MapReduce...组成了Hadoop生态系统,生态系统各个组件由Zookeeper进行协调,形成团队合作模式。二、Hadoop生态系统谷歌三驾马车:HDFS,MapReduce,HBase2、主要模块说明(如果把Hadoop生态比作厨房)采购员:Flume,Sqoop仓库:HDFS冰箱:HBase厨师长:Zookeeper厨具:MapReduce、Spark半成品:YARN成品菜肴:hive菜单:Oozie食者:AmbariHDFSHDFS:HDFS(HadoopDistributedFileSystem)是一个Hadoop分布式文件存储系统,简称分布式文件系统。HDFS本身也是个集群,由一个namenode,多个datanode,一个secondarynamenode组成,适合需要处理海量数据集的应用程序。HDFS特征低成本:兼容廉价的硬件设备。处理大规模数据:典型文件大小GB-TB级别;关注横向扩展。批量数据访问:批量读而非随机读;关注吞吐量而非相应时间。高容错:副本冗余机制。HDFS体系结构四、HDFS存储原理1、存储策略第一个副本:放置在上传文件的数据节点;如果是集群外提交,则随机挑选一台磁盘不太满、CPU不太忙的节点第二个副本:放置在与第一个副本不同的机架的节点上第三个副本:与第一个副本相同机架的其他节点上更多副本:随机节点2、数据错误与恢复(1)当名称节点出错时,就可以根据备份服务器SecondaryNameNode中的FsImage和Editlog数据进行恢复。(2)每个数据节点会定期向名称节点发送“心跳”信息,向名称节点报告自己的状态,名称节点会定期检查这种情况,一旦发现某个数据块的副本数量小于冗余因子,就会启动数据冗余复制,为它生成新的副本。五、HDFS编程实践1、列出hdfs文件系统——ls命令hdfsdfs-ls/#列出hdfs文件系统根目录下的目录和文件hdfsdfs-ls-R/#列出hdfs文件系统所有的目录和文件2、创建两个任意本地文本文件用于实验echo"helloworld">local.txtecho"hellohadoop">text.txt3、创建用户工作目录——mkdir命令hdfsdfs-mkdir<hdfspath>#只能一级一级的建目录例如:hdfsdfs–mkdir/hdfsdirhdfsdfs-mkdir-p<hdfspath>多级创建的目录如果父目录不存在就创建该父目录例如:hdfsdfs-mkdir-p/user/当前用户名4、检查文件是否存在hdfsdfs-text/user/56789/text.txthdfsdfs-text<hdsffile>#将文本文件或某些格式的非文本文件通过文本格式输出5、上传本地文件到HDFS系统——put命令hdfsdfs-put<localfile/path><hdfspath>hdfsfile的父目录一定要存在,否则命令不会执行6、查看HDFS文件的内容——cat命令hdfsdfs-cattext.txt等价于hdfsdfs-testtext.txt7、拷贝HDFS文件到本地——get命令hdfsdfs-get<hdfspath/file><localpath>例如:hdfsdfs–get/hdfsdir/README.txt/opt/localdir8、rm命令hdfsdfs-rm<hdfsfile>...hdfsdfs-rm-r<hdfsdir>...每次可以删除多个文件或目录9、getmerge命令hdfsdfs-getmerge<hdfsdir><localfile>将hdfs指定目录下所有文件排序后合并到local指定的文件中,文件不存在时会自动创建,文件存在时会覆盖里面的内容10、拷贝文件——cp命令hdfsdfs-cp<hdfsfile><hdfsfile>hdfsdfs-cp<hdfsfileordir>...<hdfsdir>11、文件改名——mv命令hdfsdfs-mv<hdfsfile><hdfsfile>hdfsdfs-mv<hdfsfileordir>...<hdfsdir>注意:跨文件系统的移动(local到hdfs或者反过来)都是不允许的12、du命令hdfsdfs-du<hdsfpath>显示hdfs对应路径下每个文件夹和文件的大小13、tail命令hdfsdfs-tail<hdfsfile>在标准输出中显示文件末尾的1KB数据14、balancer命令hdfsbalancer如果管理员发现某些DataNode保存数据过多,某些DataNode保存数据相对较少,可以使用上述命令手动启动内部的均衡过程15、dfsadmin命令hdfsdfsadmin-help管理员可以通过dfsadmin管理HDFShdfsdfsadmin-report显示文件系统的基本数据六、HBase编程实践(1)create:创建表(2)list:列出HBase中所有的表信息例1:创建名称为tempTable的表,包含3个列族f1,f2和f3(3)put:向表、行、列指定的单元格添加数据一次只能为一个表的一行数据的一个列添加一个数据(4)scan:浏览表的相关信息(5)get:获得单元格的值(通过表名、行、列、时间戳、时间范围和版本号来)例2:向tempTable中的第r1行、第“f1:c1”列,添加数据值为“hello,dblab”例3:(1)从tempTable中,获取第r1行、第“f1:c1”列的值(2)从tempTable中,获取第r1行、第“f1:c3”列的值(6)enable/disable:使表有效或无效(7)drop:删除表七、总结1个生态系统:Hadoop1个核心价值:数据分析2个关键技术:分布式存储技术、分布式处理技术3个思维转变:整体思维、容错思维、相关思维3种云的服务方式:SaaS,PaaS,IaaS3驾马车(谷歌Hadoop):GFS、MapReduce和BigTable4个特征:Volume、Variety、Veracity、Value4种计算模式:批处理计算、流计算、图计算、查询分析计算4种科学研究范式:实验、理论、计算、数据4种分析技术:数据预处理、特征工程、数据认知、数据建模5个核心组件:HDFS、HBase、MapReduce、Spark、NoSQL5大数据科学知识体系:云计算、物联网、可视化、数据思维、领域知识5种大数据相关岗位:平台运维、数据分析、算法设计、产品开发、数据科学家分布式系统的核心思想是分而治之,用一组计算机集群通过计算机网络协作,共同完成任务。根据传统思路,处理复杂问题的方式是不断提升计算机性能,研发一代更比一代强的“超级计算机”。而分布式系统则另辟蹊径,解决问题的方式从“一夫当关、万夫莫开”演变为“人海战术”,用一组计算机集群替换大型机,集群中的每台机器处理原问题的一个子集,通过成百上千普通计算机协作,实现与大型机相同甚至更佳的效果。理解四大大数据技术:数据采集、数据存储、数据分析和数据可视化授课周次第4周授课时间2021年9月23日课程章节模块2:大数据生态系统2.2MapReduce编程教学目的掌握MapReduce编程模型理解HadoopMapReduce原理;理解Yarn/MapReduce内容提要及板书设计2.2MapReduce编程1、MapReduce逻辑结构2、Map与Reduce执行3、WordCountMapReduce编程重点、难点及解决方案重点:MapReduce逻辑结构难点:Map与Reduce执行教学内容时间分配序号第4次课教学后记时间分配1课程导入10′2MapReduce逻辑结构35′3Map与Reduce执行30′4WordCountMapReduce编程15′5小结5′教学手段第4次课:理论教学形式(在右栏勾选)理实一体教学(√)理论教学()实验()实训()上机(√)作业第4次课:P27,一、二作业完成方式书面()电子(√)教学后记第4次课:注:教案按周次填写,课堂组织和教学过程设计填写在附页中。附页:(第4次)序号具体内容(课堂组织和教学过程设计)授课改进意见及实时教学效果记录新课导入MapReduce是一种分布式计算模型,由两个阶段组成:Map和Reduce,用户只需实现map()和reduce()两个函数,即可实现分布式计算。比如数一下图书馆中的所有书。你数1号书架,我数2号书架。这就是“Map”。人越多,数得就越快。把所有人的统计数加在一起。这就是“Reduce”。新课讲解一、MapReduce逻辑结构二、Map与Reduce执行三、WordCount本案例为统计readme.txt文档中词频。第一步:准备文件#hadoopfs-ls/#hadoopfs-mkdir/input#hadoopfs-put/opt/hadoop-2.1.0/README.txt/input#hadoopfs-mv/input/README.txt/input/readme.txt#hadoopfs-ls/input第二步:执行mapreduce统计词频例子#hadoopjar/opt/hadoop-2.1.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.1.0.jarwordcount/input/outputjar包执行成功第三步:输出经过计算后的结果#hadoopfs-ls/outputFound2items-rw-r--r--3rootsupergroup02018-04-1000:02/output/_SUCCESS-rw-r--r--3rootsupergroup13062018-04-1000:02/output/part-r-00000#hadoopfs-cat/output/part-r-00000readme.txt文档内容不同,可能显示的信息不同。第四步:将计算结果导出到本地系统#hadoopfs-get/output/part-r-00000/home/#ls/home/第5次课:新课导入//FlowCountMap类packagecom.ntuedu.log1;publicclassFlowCountMapextendsMapper<LongWritable,Text,Text,FlowBean>{@Overrideprotectedvoidmap(LongWritablekey,Textvalue,Contextcontext)throwsIOException,InterruptedException{Stringline=value.toString();//读一行字符串String[]fields=line.split("\t");//分割字段StringphoneNr=fields[1];//获取电话号码intlen=fields.length;//获取字段个数longupFlow=Long.parseLong(fields[len-3]);//获取上行流量longdfFolw=Long.parseLong(fields[len-2]);//获取下行流量context.write(newText(phoneNr),newFlowBean(upFlow,dfFolw));//Map输出}}publicclassFlowCountReduceextendsReducer<Text,FlowBean,Text,FlowBean>{@Overrideprotectedvoidreduce(Textkey,Iterable<FlowBean>values,Contextcontext)throwsIOException,InterruptedException{//合并相同手机号longupFlow_sum=0;//初始化上行流量总和longdfFlow_sum=0;//初始化下行流量总和for(FlowBeanv:values){upFlow_sum+=v.getUpFlow();//计算上行流量总和dfFlow_sum+=v.getDfFlow();//计算下行流量总和}FlowBeanrsSum=newFlowBean(upFlow_sum,dfFlow_sum);//获取想要的字段context.write(key,rsSum);//输出:手机号,上行流量,下行流量,总流量}}//FlowBean类publicclassFlowBeanimplementsWritable{privateLongupFlow;privateLongdfFlow;privateLongsumFlow;publicFlowBean(){}publicFlowBean(LongupFlow,LongdfFlow){this.upFlow=upFlow;this.dfFlow=dfFlow;this.sumFlow=upFlow+dfFlow;}publicLonggetUpFlow(){returnupFlow;}publicvoidsetUpFlow(LongupFlow){this.upFlow=upFlow;}publicLonggetDfFlow(){returndfFlow;}publicvoidsetDfFlow(LongdfFlow){this.dfFlow=dfFlow;}publicLonggetSumFlow(){returnsumFlow;}publicvoidsetSumFlow(LongsumFlow){this.sumFlow=sumFlow;}publicvoidwrite(DataOutputout)throwsIOException{out.writeLong(upFlow);out.writeLong(dfFlow);out.writeLong(sumFlow);}publicvoidreadFields(DataInputin)throwsIOException{upFlow=in.readLong();dfFlow=in.readLong();sumFlow=in.readLong();}publicStringtoString(){returnupFlow+"\t"+dfFlow+"\t"+sumFlow;}}//驱动类FlowCountDrive publicclassFlowCountDrive{publicstaticvoidmain(String[]args)throwsIOException,ClassNotFoundException,InterruptedException{Configurationconf=newConfiguration();Jobjob=Job.getInstance(conf);job.setJarByClass(FlowCountDrive.class);//关联驱动类job.setMapperClass(FlowCountMap.class);//关联Map类job.setReducerClass(FlowCountReduce.class);//关联Reduce类job.setMapOutputKeyClass(Text.class);//Map输出类型job.setMapOutputValueClass(FlowBean.class);job.setOutputKeyClass(Text.class);//ReducE输出类型job.setOutputValueClass(FlowBean.class);//job.setPartitionerClass(PhonePartation.class);//关联分区类//job.setNumReduceTasks(5);//指定分区个数FileInputFormat.setInputPaths(job,newPath("/usr/flow/in"));//输入文件路径FileOutputFormat.setOutputPath(job,newPath("/usr/flow/out1"));//输出文件路径booleanrs=job.waitForCompletion(true);//成功/失败标志System.exit(rs?0:1);}}授课周次第5周授课时间2021年9月30日课程章节模块3:大数据采集与预处理3.1数据3.2数据采集3.3数据清洗教学目的1、了解数据类型;2、了解数据采集分类3、掌握数据清洗的方法;4、掌握数据变换常用方法1第7次课:第3章大数据采集与预处理3.1数据1、数据定义、分类、度量3.2数据采集2、数据采集分类、方法、工具3.3数据清洗1、数据清洗任务;2、数据清洗过程;3、基于R的数据清洗重点、难点及解决方案第5次课:重点:数据清洗概念难点:数据清洗操作教学内容时间分配序号第5次教学环节时间分配1课程导入52数据定义、分类、度量303数据采集分类、方法、工具254缺失值、异常值、重复值处理255小结5教学手段第5次课:上机教学形式(在右栏勾选)理实一体教学(√)理论教学()实验()实训()上机()作业第5次课:p39:二作业完成方式书面(√)电子(√)教学后记第5次课:注:教案按周次填写,课堂组织和教学过程设计填写在附页中。附页:(第5次)序号具体内容(课堂组织和教学过程设计)授课改进意见及实时教学效果记录第5次课:导入新课大数据采集与预处理是大数据处理流程第一步,主要指网络爬虫和ETL技术。ETL是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。在ETL三个部分中,花费时间最长的是“T”(Transform,清洗、转换)的部分,一般情况下,这部分工作量是整个ETL的2/3。ETL负责将分散的、异构数据源中的数据如关系数据、平面数据文件等抽取到临时中间层后,进行清洗、转换、集成,最后加载到数据仓库或数据集市中,成为联机分析处理、数据挖掘提供决策支持的数据。新课讲解一、数据定义数据不仅仅是数字,它描绘了现实的世界,与照片捕捉了瞬间的情景一样,数据是现实世界的一个快照。数据是对我们所研究现象的属性和特征的具体描述。二、数据分类类型含义本质举例技术结构化数据直接可以用传统关系数据库存储和管理的数据先有结构,后有管理数字、符号、表格SQL非结构化数据无法用传统关系数据库存储和管理的数据难以发现同一的结构语音、图像、文本NOsql,NewSql,云技术半结构化数据经过转换用传统关系数据库存储和管理的数据先有数据,后有结构HTML、XMLRDF、OWL三、度量和维度(1)维度和度量是可以转换的。比如要看“年龄”的平均数,这里的“年龄”就是度量,要看19岁用户的订单情况,这里的“年龄”就是维度。对于一个数据项而言,到底它是维度还是度量,是根据用户的需求而定的。(2)维度可以衍生出新的维度和度量,比如用“地区”维度衍生出一个大区维度,“北京”、“天津”都对应“华北大区”,或者用“年龄”维度衍生出一个年龄范围维度,20到29岁=“青年人”,30到39岁=“中年人”,40到49岁=“资深中年人”。再比如上述的平均年龄,就是用“年龄”维度衍生出一个度量。(3)度量也可以衍生出新的维度和度量,比如用“订单金额”度量衍生出一个金额范围维度,100元以下对应“小额订单”,500元以上对应“大额订单”等等。再比如用“收入”度量和“成本”度量相减,可以得到一个“利润”度量。四、数据采集分类数据采集(DAQ),又称数据获取,是指从传感器、网站和其它待测设备等模拟和数字被测单元中自动采集信息的过程。(1)按采集频率分:静态数据采集、低频数据采集、高频数据采集。(2)按采集结构分:结构化数据采集、半结构化数据采集、非结构化数据采集。(3)按采集方式分:定时采集、实时采集。五、数据采集方法(1)系统日志采集方法 (2)网络数据采集方法  (3)数据库采集系统六、数据采集工具  (1)Flume (2)Kafka(3)Sqoop七、数据清洗任务数据清理主要任务是通过识别缺失值、噪声数据、不一致数据和重复数据来“清理脏数据”,通过数据清洗为大数据分析接下来的步骤提供高质量的数据,使分析结果更客观、更可靠。八、数据清洗过程九、R语言十、基于R语言的数据清洗授课周次第6周授课时间2021年10月6日课程章节模块3:大数据管理3.1NoSQL3.2HBase教学目的理解NoSQL的四种类型内容提要及板书设计1、NoSQL概述2、键值对3、四种NoSQL重点、难点及解决方案重点:列式数据库难点:NoSQL教学内容时间分配序号时间分配1课程导入5′2NoSQL概述153键值对254四种NoSQL405小结5教学手段理论上机教学形式(在右栏勾选)理实一体教学()理论教学()实验()实训()上机(√)作业自拟作业完成方式书面()电子(√)教学后记注:教案按周次填写,课堂组织和教学过程设计填写在附页中。附页:(第6次)序号具体内容(课堂组织和教学过程设计)授课改进意见及实时教学效果记录新课导入HDFS存储的数据是没有结构的,但实际应用需要把无结构的数据转换为有结构的。今天讲的HBase就是一种针对大数据设计的有结构的NoSQL数据库。新课讲解一、NoSQL概述1、NoSQL数据库特点:(1)灵活的可扩展性(2)与云计算紧密融合2、NoSQL3、常见NoSQL数据库DynamoDBDynamoDB(3)I/O设备接口授课周次第7周授课时间2021年10月13日课程章节模块3:大数据管理3.2HBase教学目的掌握HBase基本操作内容提要及板书设计1、HBase结构2、HBase工作原理3、HBase表操作重点、难点及解决方案重点:HBase操作难点:Hbase结构教学内容时间分配序号时间分配时间分配1课程导入5′2HBase结构103HBase工作原理204HBase基本操作505小结5教学手段理论上机教学形式(在右栏勾选)理实一体教学(√)理论教学()实验()实训()上机(√)作业实验报告4作业完成方式书面()电子(√)教学后记注:教案按周次填写,课堂组织和教学过程设计填写在附页中。附页:(第7次)序号具体内容(课堂组织和教学过程设计)授课改进意见及实时教学效果记录一、HBase1、对三驾马车的改造2、HBase描述HBase是一个高可靠、高性能、面向列、可伸缩的分布式数据库,是谷歌BigTable的开源实现,主要用来存储非结构化和半结构化的松散数据。HBase的目标是可以通过水平扩展的方式,利用廉价计算机集群处理由超过10亿行数据和数百万列元素组成的数据表。3、HBASE数据模型(1)四元组HBase中需要根据行键、列族、列限定符和时间戳来确定一个单元格,因此,可以视为一个“四维坐标”,即[行键,列族,列限定符,时间戳](2)概念视图(3)物理视图4、HBase与传统关系数据库的对比分析(1)数据类型:关系数据库具有丰富的数据类型,HBase则把数据存储为未经解释的字符串;(2)数据操作:关系数据库中包含了丰富的操作,其中会涉及复杂的多表连接。HBase操作则只有简单的插入、查询、删除、清空等,因为HBase在设计上就避免了复杂的表和表之间的关系;(3)存储模式:关系数据库是基于行模式存储的。HBase是基于列存储的,每个列族都由几个文件保存,不同列族的文件是分离的;(4)数据索引:关系数据库通常可以针对不同列构建复杂的多个索引,以提高数据访问性能。HBase只有一个索引——行键,通过巧妙的设计,使得整个系统不会慢下来;(5)数据维护:在关系数据库中,更新操作会用最新的值去替换记录中原来的旧值,旧值被覆盖后就不会存在。而在HBase中执行更新操作时,并不会删除数据旧的版本,而是生成一个新的版本,旧有的版本仍然保留。(6)可伸缩性:关系数据库很难实现横向扩展,纵向扩展的空间也比较有限。相反,HBase就是为了实现灵活的水平扩展而开发的,能够轻易地在集群中实现性能的伸缩5、HBase系统架构6、Hbase实现原理(1)开始只有一个Region,后来不断分裂(2)Region拆分操作非常快,接近瞬间,因为拆分之后的Region读取的仍然是原存储文件,直到“合并”过程把存储文件异步地写到独立的文件之后,才会读取新文件(3)每个Region的最佳大小取决于单台服务器的有效处理能力,目前每个Region最佳大小建议1GB-2GB总结HBase四元组模型HBase实现原理第12次课:新课讲解一、HBase常用JAVAAPI首先要在工程中导入hbase安装目录中的lib文件中的所有jar包。1、任务要求:创建表、插入数据、浏览数据创建一个学生信息表,用来存储学生姓名(姓名作为行键,并且假设姓名不会重复)以及考试成绩,其中,考试成绩是一个列族,分别存储了各个科目的考试成绩。逻辑视图如表所示。授课周次第8周授课时间2019年10月20日课程章节模块4:大数据分析4.1大数据分析概述4.2业务理解4.3数据认知4.4特征工程教学目的1、理解大数据分析流程;2、了解业务理解的意义3、掌握数据认知方法;内容提要及板书设计4.1大数据分析概述1、数据分析原则2、数据分析特点3、数据分析流程4、数据分析师基本技能和素质4.2业务理解1、什么是业务理解2、如何理解业务3、数据业务化5.3数据认知1、概率分析;2、相关分析4.4特征工程1、特征工程面临的挑战2、特征选择3、特征提取4、指标设计重点、难点及解决方案重点:数据分析流程难点:数据业务化教学内容时间分配序号第13次课教学环节时间分配第14次课教学环节时间分配1课程导入5′课程导入5′25.1大数据分析概述205.4特征工程1035.2业务理解15特征工程面临的挑战1545.3数据认知40特征选择105特征提取156指标设计20教学手段理论教学形式(在右栏勾选)理实一体教学(√)理论教学()实验()实训()上机()作业作业完成方式书面()电子(√)教学后记注:教案按周次填写,课堂组织和教学过程设计填写在附页中。附页:(第8次)序号具体内容(课堂组织和教学过程设计)授课改进意见及实时教学效果记录第13次课:5.1大数据分析概述1、数据分析原则2、数据分析特点3、数据分析流程4、数据分析师基本技能和素质5.2业务理解1、什么是业务理解数据分析的第一步,不是分析数据,而是把业务问题定义清晰。判断的标准是:Y和X是否定义清晰。2、如何理解业务(1)粗粒度的全局了解(2)动态了解-流程模型(3)静态了解-数据模型(4)动静结合-关键业务分析3、数据业务化数据业务化的核心是让数据产生价值。为此,需要三个环节:(1)将业务问题定义成为数据可分析问题;(2)对数据可分析问题作分析建模;(3)对最后的分析结果和模型进行业务实施。5.3数据认知1、概率分析;(1)常用统计量分析(2)假设检验2、相关分析(1)相关性描述(2)两个变量相关性分类第14次课:5.4特征工程1、特征工程面临的挑战自动特征抽取;特征的可解释性;特征的评价;2、特征选择(1)特征是否发散:如果一个特征不发散,例如方差接近于0,也就是说样本在这个特征上基本上没有差异,这个特征对于样本的区分并没有什么用。(2)特征与目标的相关性:这点比较显见,与目标相关性高的特征,应当优选选择。除方差法外,本文介绍的其他方法均从相关性考虑。3、特征提取(1)PCA(2)因子分析4、指标设计(1)设计指标技巧(2)如何设计指标(3)常用指标(4)业务指标授课周次第9周授课时间2021年10月27日课程章节模块4:大数据分析4.5数据建模1、熟练使用Rattle包,2、理解K-means聚类算法3、关联分析4、决策树教学目的1、了解数据建模的意义2、Rattle包安装使用3、了解关联分析原理和应用场景;4、理解Apriori算法;5、了解决策树原理和应用场景;6、理解ID3算法内容提要及板书设计模块4:大数据分析4.5数据建模1、熟练使用Rattle包2、理解K-means聚类算法3、关联分析4、决策树重点、难点及解决方案重点:聚类分析,决策树、Apriori算法难点:Rattle参数选择教学内容时间分配序号时间分配1数据建模意义202聚类分析603关联规则挖掘304决策树305小结20教学手段理论+上机教学形式(在右栏勾选)理实一体教学(√)理论教学()实验()实训()上机(√)作业作业完成方式书面()电子(√)教学后记注:教案按周次填写,课堂组织和教学过程设计填写在附页中。附页:(第9次)序号具体内容(课堂组织和教学过程设计)授课改进意见及实时教学效果记录第15次课:第五章大数据分析5.6数据建模1、熟练使用Rattle包(1)安装install.packages("cairoDevice")install.packages("RGtk2")install.packages("rattle")用上述代码可以完成rattle包的安装。在Rstudio命令控制台输入如下脚本载入Rattle包:>library(rattle)在Rstudio命令控制台输入如下脚本启动Rattle:>rattle()(2)认识界面2、理解K-means聚类算法(1)K-means聚类思想聚类分析模型指将物理或抽象对象的集合分组为由类似的对象组成的多个类的分析过程。聚类是一种把两个观测数据根据它们之间的距离计算相似度来分组的方法(没有指导样本)。(2)算法描述K-means聚类算法属于非层次聚类法的一种,是最简单的聚类算法之一,但是运用十分广泛。k-means的计算方法如下:Step1:随机选取k个中心点。Step2:遍历所有数据,将每个数据划分到最近的中心点中。Step3:计算每个聚类的平均值,并作为新的中心点。Step4:重复Step2-3,直到这k个中线点不再变化(收敛了),或执行了足够多的迭代。(3)操作实例(4)参数选择(5)算法评价①K值选取。在实际应用中,由于Kmean一般作为数据预处理,或者用于辅助分类贴标签,所以k一般不会设置很大。可以通过枚举,令k从2到一个固定值,如10,在每个k值上重复运行数次K-means(避免局部最优解),并计算当前k的平均轮廓系数,最后选取轮廓系数最大的值对应的k作为最终的集群数目。②度量标准。根据一定的分类准则,合理划分记录集合,从而确定每个记录所属的类别。不同的聚类算法中,用于描述相似性的函数也有所不同,有的采用欧氏距离或马氏距离,有的采用向量夹角的余弦,也有的采用其他的度量方法。第16次课:第五章大数据分析5.6数据建模1、关联分析(1)基本思想(2)Apriori算法3、案例实战Rattle安装目录提供一个例子(dvdtrans.csv),这个例子包含三个顾客购买DVD电影商品的事务,数据结构如图所示。2、决策树(1)决策树原理(2)ID3算法构造决策树的关键步骤是分裂属性,即在某个节点处按照某一特征属性值构造不同的分支,其目标是让各个分裂子集尽可能地“纯”,尽可能“纯”就是尽量让一个分裂子集中待分类项属于同一类别。分裂属性分为三种不同的情况:(1)属性是离散值且不要求生成二叉决策树。此时用属性的每个划分作为一个分支。(2)属性是离散值且要求生成二叉决策树。此时使用属性划分的一个子集进行测试,按照“属于此子集”和“不属于此子集”分成两个分支。(3)属性是连续值。此时确定一个值作为分裂点split_point,按照>split_point和<=split_point生成两个分支。从信息论知识中我们直到,期望信息越小,信息增益越大。所以ID3算法的核心思想就是以信息增益度量属性选择,选择分裂后信息增益最大的属性进行分裂。设D为用类别对训练元组进行的划分,则D的熵(entropy)表示为:假设将训练元组D按属性A进行划分,则A对D划分的期望信息为:而信息增益即为两者的差值:(3)案例实战通过Model选项卡Type=Tree建立决策树模型,实验数据为weather.csv,单击“执行”按钮得到如图决策树模型。单击“Draw”按钮得到可视化的决策树,如图所示。授课周次第10周授课时间2021年11月4日课程章节模块4:大数据分析4.6spark1、Spark简介,2、Spark运行模式4.6spark1、Spark生态系统BDAS2、常用概念-RDD教学目的1、了解spark生态系统2、理解RDD概念和工作原理内容提要及板书设计4.6spark1、Spark简介3、常用概念-RDD四大优势依赖关系2、Spark生态系统BDASRDD有两种操作方式SparkCoreSpark中的Stage划分SparkSQL基本工作流程SparkStreamingSparkMLlibSparkGraphX重点、难点及解决方案重点:依赖关系、SparkSQL、RDD有两种操作方式、基本工作流程难点:SparkCore、Spark编程实践教学内容时间分配序号时间分配1课程导入5′2Spark简介203Spark生态系统BDAS554常用概念-RDD405Spark编程实践40教学手段理论+上机教学形式(在右栏勾选)理实一体教学(√)理论教学()实验()实训()上机(√)作业P104作业完成方式书面()电子(√)教学后记注:教案按周次填写,课堂组织和教学过程设计填写在附页中。附页:(第10次)序号具体内容(课堂组织和教学过程设计)授课改进意见及实时教学效果记录导入新课hadoop新课讲解第17次课:一、Spark简介Spark是一个快速和通用的大数据处理引擎。Spark最初是由加州大学伯克利分校的AMPLab于2009年提交的一个项目,现在是Apache软件基金会旗下最活跃的开源项目之一Spark是一个分布式的大数据处理框架,基于RDD(弹性分布式数据集),立足内存计算的一栈式计算平台2016年11月14日发布Spark2.0.2版本优势一:快速处理优势二:易于使用Spark代码量小;支持Scala、Java、Python,R语言的API。优势三:通用性强二、Spark生态系统BDASBDAS(theBerkeleyDataAnalyticsStack),全称伯克利数据分析栈,是AMP实验室打造的一个开源的大数据处理一体化的技术生态系统,其核心框架是Spark1、Spark组件-SparkCore2、Spark组件-SparkSQLSparkSQL在Spark内核基础上提供了对结构化数据的处理集成性好:在Spark程序中无缝混合SQL查询统一的数据访问:以同样的方式连接到任何数据源兼容Hive:已有Hive查询语句不用修改支持标准连接:JDBC、ODBC3、Spark组件-SparkStreamingSparkStreaming基本原理是将流式计算分解成一系列短小的批处理作业。这里的批处理引擎是Spark,也就是把SparkStreaming的输入数据按照batchsize(如1s)分成一段一段的数据,每一段数据都转换成Spark中的RDD,然后将SparkStreaming中对DStream的Transformation操作变为针对Spark中对RDD的Transformation操作,将RDD经过操作变成中间结果保存在内存中。整个流式计算根据业务的需求可以对中间结果进行叠加,或者存储到外部设备。与另一种流处理框架Storm相比,其吞吐量远高于Storm;同时相比基于Record的Storm,RDD数据集更容易做到高效的容错处理。4、Spark组件-GraphXGraphX是一个基于Spark的分布式图计算子框架,提供了图计算中用于图和图并行计算的接口。灵活:与图形和集合无缝工作速度快:性能堪比最快的专业图形处理系统算法:从一个不断增长的图形算法库选取5、Spark组件-MLlibMLlib(MachineLearninglib)是Spark对常用的机器学习算法的实现库。易于使用:可用于Java,Scala,Python,andR高性能:高质量的算法,比MapReduce快100倍易于部署:可在现有的Hadoop集群和数据上运行第18次课:三、常用概念-RDDRDD(ResilientDistributedDatasets,弹性分布式数据集)是Spark的核心和架构基础是一个容错的、并行的数据结构是一个只读的分区记录集合是一个内存数据集可以简单看成是一个分区存储的数组1、RDD的依赖关系2、RDD有两种操作方式:转换(Transformations):返回RDD,如:map,filter,groupBy,join等动作(Actions):返回值不是一个RDD,如:count,collect,save等3、Spark中的Stage划分从HDFS中读入数据生成3个不同的RDD,通过一系列操作后,再将计算结果保存回HDFS。只有join操作是宽依赖,以此为边界将其前后划分成不同的StageStage2中,从map到union都是窄依赖,可以形成流水线操作3、RDD操作-Transformations其他转换操作还包括:mapPartitions、mapPartitionsWithIndex、intersection、distinct、aggregateByKey、cartesian、pipe、coalesce、repartition、repartitionAndSortWithinPartitions等4、RDD操作-Action其他Action操作还包括:takeSample、takeOrdered、saveAsSequenceFile、saveAsObjectFile等5、Spark的基本工作流程①①②③③④⑤⑤⑥⑥⑦⑦⑧初始化SparkContext申请资源初始化Executor解析RDD,划分Stage,调度任务发送任务到Executor执行计算任务返回计算结果关闭SparkContex,回收资源授课周次第11周授课时间2021年11月11日课程章节模块4:大数据分析4.7大数据分析引擎Hive教学目的1、了解HIVE的特性;2、了解hive结构3、熟练hive基本操作内容提要及板书设计1、hive简介2、hive特性3、hive结构4、安装hive5、hive操作重点、难点及解决方案重点:hive特性、hive结构、hive操作难点:hive结构教学内容时间分配序号时间分配1课程导入5′2Hive简介153Hive特性204Hive结构405Hive操作80教学手段理论上机教学形式(在右栏勾选)理实一体教学(√)理论教学()实验()实训()上机(√)作业实验报告5作业完成方式书面()电子(√)教学后记注:教案按周次填写,课堂组织和教学过程设计填写在附页中。附页:(第11次)序号具体内容(课堂组织和教学过程设计)授课改进意见及实时教学效果记录第19次课:

温馨提示

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

评论

0/150

提交评论