数据仓库Hive应用实战 教案全套 1-4课时-Hadoop简介 - 125-128课时-统计分析数据_第1页
数据仓库Hive应用实战 教案全套 1-4课时-Hadoop简介 - 125-128课时-统计分析数据_第2页
数据仓库Hive应用实战 教案全套 1-4课时-Hadoop简介 - 125-128课时-统计分析数据_第3页
数据仓库Hive应用实战 教案全套 1-4课时-Hadoop简介 - 125-128课时-统计分析数据_第4页
数据仓库Hive应用实战 教案全套 1-4课时-Hadoop简介 - 125-128课时-统计分析数据_第5页
已阅读5页,还剩166页未读 继续免费阅读

下载本文档

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

文档简介

湖南汽车工程职业学院教师授课教案第1周第1-4课时累计4课时课程名称大数据仓库HIVE授课课题Hadoop简介授课专业班级大数据1801教学目标能阐述清楚Hadoop产生的原因;能阐述清楚Hive在Hadoop生态中的意义;能阐述清楚Pig在Hadoop生态中的意义;能阐述清楚HBase在Hadoop生态中的意义。教学要点教学重点Hadoop生态系统的主要组件教学难点MapReduce的工作原理课型一体化授课教法与学法(教具)示范演示法、任务驱动教学法、分组合作教学法课后作业完成智课堂作业、看书复习教学后记(教师课后填写)授课教师王海霞【智课堂签到】【课程简介及考核方式】一、课程简介二、课程考核方式平时成绩占40%,期末考试占60%。平时成绩考核包括:1、考勤和6s管理2、课堂测试和课后作业三、学习机房管理制度及上机要求【学习资源推荐】1、传统学习资源: 权威教材2、在线学习资源:Hadoop生态系统中各大官方网站【互动】现居住地的学习环境调研?学习准备【新课讲授】一、Hadoop综述1、Hadoop概述Hadoop是由Apache基金会开发的分布式存储与计算框架。用户不需要了解底层的分布式计算原理就可以轻松开发出分布式计算程序,可以充分利用集群中闲置的计算资源,将集群的真正威力调动起来。Hadoop由两个重要模块组成。一个是Hadoop分布式文件系统(HadoopDistributedFileSystem,简称HDFS),顾名思义,就是一个分布式的文件系统,可以将文件数据分布式地存储在集群中的不同节点上。另一个是MapReduce系统,是一个针对大量数据的分布式计算系统,其可以将计算任务分割成多个处理单元然后分散到一群家用的或服务器级别的硬件机器上,从而降低成本并提供水平可伸缩性。2、ApacheHadoop的主要特点:3、Hadoop名字由来二、MapReduce综述1、MapReduce简介用户无需精通MapReduce就可以学习和使用Hive,但是掌握MapReduce的基本原理将有助于用户理解Hive的底层运作模式,以及了解如何操作才能更高效地运用Hive,因此本书中提供关于MapReduce的简要描述,更多关于MapReduce细节知识,请参考Tomwhite(O’Reilly)所著的<<Hadoop权威指南>>一书。MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)","Reduce(归约)",和其主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。2、MapReduce运行机制Hadoop框架下MapReduce的运行机制《MapReduce:SimplifiedDataProcessingonLargeCluster》翻译/YaoDD/p/6017397.html,用一个典型的架构图来表示,如图1-1《MapReduce:SimplifiedDataProcessingonLargeCluster》翻译/YaoDD/p/6017397.html图1-1MapReduce运行机制(1)用户应用程序提交给Master机(主节点,负责管理文件系统的命名空间以及客户端对文件的访问)。(2)依据程序确定运行的worker机(数据节点,充当一个node(节点),启动一个Datanode的守护进程,负责管理它所在节点上的存储)。(3)在运行Mapper前进行分片(split)处理。(4)在多台worker本地启用众多的Mapper运行分配的小任务,并将Mapper运行的结果写入上下文,然后进行Shuffle处理。(5)负责运行少量Reducer任务的worker机从shuffle中将数据拉取回来。(6)将Reducer运算结果写入输出文件(Outputfiles)。【互动提问】如果你不是一名Java程序员,那就不能编写JavaMapreduce代码了,但是,如果你已经熟悉SQL,那学习Hive将会相当地容易,而且很多程序都能很容易且快速实现。【新课讲授】三、Hadoop生态系统中的Hive1、hive简介Hive不仅提供了熟悉SQL的用户所能熟悉的编程模型,还消除了大量的通用代码,甚至是那些有时是不得不使用Java编写的令人棘手的代码。这就是为什么Hive对于Hadoop是如此重要的原因,无论用户是DBA还是Java开发工程师。Hive可以让你花费相当少的精力就可以完成大量的工作。图1-2显示了Hive的主要“模块”以及Hive是如何与Hadoop交互工作的。图1-2Hive组成模块有多种方式可以与Hive进行交互。本书中,我们将主要关注于CLI,也就是命令行界面。【互动提问】以下那个不是Hive发行版中附带的能进行编程访问的模块()CLIB、HWIC、MapReduceD、JDBC【新课讲授】四、Hadoop生态系统中的Pig1、pig简介2、pig的缺点【互动提问】1、Pig被描述成一种数据流语言,而不是一种查询语言。()2、Hive的替代工具中最有名的就是Pig了,Pig是由Fackbook开发完成的。()【新课讲授】五、Hadoop生态系统中的HBase六、Java和Hive:词频统计算法1、简单分析代码2、比较两者异同【互动:提问】1、以下不属于ApacheHadoop生态系统中的是()DA、HiveB、HBaseC、PigD、Cascading【音频复习】 学生通过音频文件进行课堂复习【课堂测验】完成课堂测验题。【课堂作业】完成课堂作业【总结】 学生总结本次课的内容。【机房6S】 安排好学生的6S管理。【课后作业】完成课后作业。湖南汽车工程职业学院教师授课教案第1周第5-8课时累计8课时课程名称大数据仓库HIVE授课课题Hive简介授课专业班级大数据1801教学目标理解什么是Hive;了解Hive的优缺点;掌握Hive的系统架构;理解Hive的工作原理;理解Hive与传统数据库的区别;教学要点教学重点虚拟机的安装及基础配置教学难点虚拟机的基础配置课型一体化授课教法与学法(教具)示范演示法、任务驱动教学法、分组合作教学法课后作业完成智课堂作业、看书复习教学后记(教师课后填写)授课教师王海霞【课前复习】1、以下不属于ApacheHadoop生态系统中的是()A、HiveB、HBaseC、PigD、Cascading2、以下那个不是Hive发行版中附带的能进行编程访问的模块()A、CLIB、HWIC、MapReduceD、JDBC3、如果你不是一名Java程序员,那就不能编写JavaMapreduce代码了,但是,如果你已经熟悉SQL,那学习Hive将会相当地容易,而且很多程序都能很容易且快速实现。()【作业点评】展示智课堂学生作业完成情况,并做点评。【学习目标】知识目标理解什么是Hive;了解Hive的优缺点;掌握Hive的系统架构;理解Hive的工作原理;理解Hive与传统数据库的区别;能力目标能熟练绘制出Hive总体框图;能熟练绘制出HiveServer2的架构图;能阐述出Hive的工作原理。【课程导入】Hive的来历【新课讲授】一、什么是Hive二、Hive的优缺点1、Hive的优点(1)简单容易上手:提供了类SQL查询语言HQL(2)可扩展:为超大数据集设计了计算/扩展能力(MapReduce作为计算引擎,HDFS作为存储系统),一般情况下不需要重启服务Hive就可以自由的扩展集群的规模。(3)提供统一的元数据管理(4)延展性:Hive支持用户自定义函数,用户可以根据自己的需求来实现自己的函数(5)容错:良好的容错性,节点出现问题SQL仍可完成执行2、Hive的缺点(1)Hive的HQL表达能力有限。迭代式算法无法表达,如pagerank;数据挖掘方面不擅长,如kmeans。(2)Hive的效率比较低。Hive自动生成的mapreduce作业,通常情况下不够智能化;Hive调优比较困难,粒度较粗;Hive可控性较差。【互动答题】1、以下描述中属于Hive优点的是()A、简单容易上手:提供了SQL查询语言。B、可扩展:为超大数据集设计了计算/扩展能力(MR作为计算引擎,HDFS作为存储系统),一般情况下不需要重启服务Hive可以自由的扩展集群的规模。C、提供统一的元数据管理。D、容错:良好的容错性,节点出现问题SQL仍可完成执行。【新课讲授】三、Hive的系统架构1、Hive组件2、HCatalog3、HiveServer2【互动答题】1、以下不属于Hive组件的是()A、HCatalogB、HiveServer2C、HadoopD、ThriftServer【新课讲授】Hive的工作原理Hive与传统数据库区别序号对比项HiveMySQL1查询语言HiveQLSQL2数据存储位置HDFS块设备、本地文件系统3数据格式用户定义系统决定4数据更新InsertOVERWRITE\INTOTABLE(不建议更新)UPDATE/INSERT/DELETE支持5索引不支持支持6执行多数查询由MapReduce执行执行引擎执行7执行延迟高低8可扩展性高低9数据规模大小【互动答题】1、Hive与传统数据库MySQL相同之处是数据存储的位置均为本地文件系统。()2、Hive和传统数据库一样,在加载数据时会对数据建立索引。()【音频复习】 学生通过音频文件进行课堂复习【课堂测验】完成课堂测验题。【课堂作业】完成课堂作业【总结】 学生总结本次课的内容。【机房6S】 安排好学生的6S管理。【课后作业】完成课后作业。湖南汽车工程职业学院教师授课教案第2周第1-4课时累计12课时课程名称大数据仓库HIVE授课课题虚拟机安装及母机制作授课专业班级大数据1801教学目标能熟练安装虚拟机能克隆虚拟机能完成虚拟机的基础配置教学要点教学重点虚拟机的安装及基础配置教学难点虚拟机的基础配置课型一体化授课教法与学法(教具)示范演示法、任务驱动教学法、分组合作教学法课后作业完成智课堂作业、看视频熟练操作教学后记(教师课后填写)授课教师王海霞【课前复习】1、以下不属于Hive组件的是(C)A、HCatalogB、HiveServer2C、HadoopD、ThriftServer2、Hive是一种独立的工具,它能独立来存储和查询数据。(错)3、由于Hive是针对数据仓库应用设计的,而数据仓库的内容是读多写少的。(对)【作业点评】展示智课堂学生作业完成情况,并做点评。【学习目标】能熟练安装虚拟机能克隆虚拟机能完成虚拟机的基础配置【课程导入】Hive的起源【新课讲授】1、邀请特长队学生安装示范虚拟机安装全过程。2、教师发现示范学生安装过程中存在的问题。3、教师示范虚拟机安装过程,并着重讲解虚拟机网络配置问题。【师生互动】学生针对安装环节的疑问自由提问。【学生实操】学生自主完成虚拟机的安装。【新课讲授】教师示范虚拟机克隆,为创建虚拟机节省时间。【学生实操】学生完成虚拟机克隆,并设置好各虚拟机的名字。【师生互动】通过智课堂抽答方式,抽取学生实操情况。【新课讲授】完成网络配置,并实现crt远程连接。【学生实操】学生完成网络配置,并实现CRT远程连接。【师生互动】通过智课堂抽答方式,抽取学生实操情况。【音频复习】 学生通过音频文件进行课堂复习【课堂测验】完成课堂测验题。【课堂作业】完成课堂作业【总结】 学生总结本次课的内容。【机房6S】 安排好学生的6S管理。【课后作业】完成课后作业。湖南汽车工程职业学院教师授课教案第2周第5-8课时累计16课时课程名称大数据仓库HIVE授课课题虚拟机安装及母机制作授课专业班级大数据1801教学目标能配置Hadoop能安装和配置Hive能使用Derby存储Hive元数据能使用MySQL存储Hive元数据教学要点教学重点安装和配置Hive教学难点使用MySQL存储Hive元数据课型一体化授课教法与学法(教具)示范演示法、任务驱动教学法、分组合作教学法课后作业完成智课堂作业、看视频熟练操作教学后记(教师课后填写)授课教师王海霞【课前复习】1、以下那种模式不是Hadoop的运行模式(B)A、本地模式B、集群模式C、分布式模式D、伪分布式模式2、Hive依赖于

Hadoop,而

Hadoop依于(Java),用户需要确认使用的操作系统中安装有v1.6.*或者v1.7.*版本的JVM。3、对于

Hadoop来说,不同模式之间的差异相对于部署方式更多地在于(执行方式)上。4、在伪分布式模式下,当执行

Hadoop

job时,Hadoop不会启动NameNode、DataNode、ResourceManager、NodeManager等守护进程,Map

task和

Reduce

task在同一个进程中的不同部分来执行。(错)5、Hadoop默认的模式是分布式模式。(错)【作业点评】展示智课堂学生作业完成情况,并做点评。【学习目标】能配置Hadoop能安装和配置Hive能使用Derby存储Hive元数据能使用MySQL存储Hive元数据【课程导入】Hadoop的安装过程【新课讲授】一、配置并验证Hadoop1、配置Hadoop为伪分布式模式将进行以下两个步骤操作。 第1步,设置Hadoop环境变量,并使环境变量配置生效。第2步,配置Hadoop。配置hadoop-env.sh文件配置core-site.xml文件配置hdfs-site.xml文件配置yarn-site.xml文件配置mapred-site.xml文件2、验证Hadoop。第1步,设置名称节点。使用命令“hdfsnamenode-format”设置名称节点[hadoop@hive~]$hdfsnamenode-format第2步,验证Hadoopdfs。[hadoop@hivelocal]$sudochown-Rhadoop:hadoop/usr/local/hadoop/[hadoop@hive~]$start-dfs.sh第3步,验证Yarn。[hadoop@hive~]$start-yarn.sh第4步,通过浏览器访问Hadoop。第5步,验证集群中所有应用程序。二、安装并验证Hive1、安装Hive。第1步,下载hive-2.3.4。 第2步,使用secureFX 工具将下载的hive文件apache-hive-2.3.4-bin.tar.gz上传至hive虚拟机中的/opt目录下。 第3步,使用tar命令解压Hive[hadoop@hiveopt]$sudotar-zxvfapache-hive-2.3.4-bin.tar.gz第4步,使用mv命令移动解压后的Hive到安装第三方软件的常用目录/usr/local/中[hadoop@hiveopt]$sudomvapache-hive-2.3.4-bin/usr/local/hive[hadoop@hiveopt]$ll/usr/local/2、配置Hive环境变量。第1步,通过vi命令在~/.bashrc中配置Hive环境变量[hadoop@hivehive]$vi~/.bashrc在文首增加如下内容exportHIVE_HOME=/usr/local/hiveexportPATH=$PATH:$HIVE_HOME/binexportCLASSPATH=$CLASSPATH:/usr/local/Hadoop/lib/*:.exportCLASSPATH=$CLASSPATH:/usr/local/hive/lib/*:.第2步,使环境变量配置临时生效[hadoop@hivehive]$source~/.bashrc3、配置并验证Hive。[hadoop@hiveconf]$sudocphive-env.sh.templatehive-env.sh[hadoop@hiveconf]$vihive-env.shexportHADOOP_HOME=/usr/local/hadoopexportHIVE_CONF_DIR=/usr/local/hive/conf[hadoop@hiveconf]$hivewhich:nohbasein(/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/jdk1.8.0/bin:/usr/local/jdk1Hive-on-MRisdeprecatedinHive2andmaynotbeavailableinthefutureversions.Considerusingadifferentexecutionengine(i.e.spark,tez)orusingHive1.Xreleases.hive>三、使用Derby存储Hive元数据1、创建hive-site.xml文件。$sudocphive/conf/hive-default.xml.templatehive-default.xml$sudocphive/conf/hive-default.xml.templatehive-site.xml2、配置hive-site.xml文件$sudomkdir/usr/local/hive/logs$sudochmod777-R/usr/local/hive/logs/【师生互动】学生针对安装环节的疑问自由提问。【学生实操】学生自主完成虚拟机的安装。【新课讲授】教师示范虚拟机克隆,为创建虚拟机节省时间。【学生实操】学生完成虚拟机克隆,并设置好各虚拟机的名字。【师生互动】通过智课堂抽答方式,抽取学生实操情况。【新课讲授】完成网络配置,并实现crt远程连接。【学生实操】学生完成网络配置,并实现CRT远程连接。【师生互动】通过智课堂抽答方式,抽取学生实操情况。【音频复习】 学生通过音频文件进行课堂复习【课堂测验】完成课堂测验题。【课堂作业】完成课堂作业【总结】 学生总结本次课的内容。【机房6S】 安排好学生的6S管理。【课后作业】完成课后作业。湖南汽车工程职业学院教师授课教案第3周第1-4课时累计20课时课程名称大数据仓库HIVE授课课题Hive基本操作授课专业班级大数据1801教学目标Hive目录结构详解启动HiveHiveCLICLI选项变量和属性教学要点教学重点HiveCLI教学难点HiveCLI课型一体化授课教法与学法(教具)示范演示法、任务驱动教学法、分组合作教学法课后作业完成智课堂作业、看视频熟练操作教学后记(教师课后填写)授课教师王海霞【课前复习】1、使用命令(java-version)能测试Java是否安装成功。2、在liunx系统中创建了一个新用户test,需要赋予test用户root权限,该如何操作?3、请叙述并撰写出设置集群间的免密登录步骤【作业点评】展示智课堂学生作业完成情况,并做点评。【学习目标】Hive目录结构详解启动HiveHiveCLICLI选项变量和属性【课程导入】Hive安装好后,开始认识Hive【新课讲授】一、Hive目录结构详解$HIVE_HOME/bin目录。$HIVE_HOME/conf目录。$HIVE_HOME/lib目录。Hive不是一种独立的工具,它依赖于其他组件。

Thrift服务的功能。【学生实操】在$HIVE_HOME目录下查看所有子目录【新课讲授】二、启动Hive$HIVE_HOME/bin/hive命令是个

bash

shell脚本,用于启动CLI:[hadoop@hive~]$hiveLogginginitializedusingconfigurationinfile:/home/hadoop/hive-0.9.0/conf/pertiesHivehistoryfile=/tmp/hadoop/hive_job_log_hadoop_201303041631_450140463.txthive>select*fromtest;OKTimetaken:3.215secondsCLI所输出中的第1行将是“OK”,然后才会紧跟着输出内容,最后以一行表示命令或者查询执行所消耗的时间的输出信息结尾。【学生实操】学生动手启动hive,查看hive的命令提示符。【新课讲授】三、Hive命令详解$hive--helpUsage./hive<parameters>--serviceserviceName<serviceparameters>ServiceList:beelinecleardanglingscratchdirclihbaseimporthbaseschematoolhelphiveburninclienthiveserver2hplsqljarlineagellapdumpllapllapstatusmetastoremetatoolorcfiledumprcfilecatschemaToolversionParametersparsed:--auxpath:Auxiliaryjars--config:Hiveconfigurationdirectory--service:Startsspecificservice/component.cliisdefaultParametersused:HADOOP_HOMEorHADOOP_PREFIX:HadoopinstalldirectoryHIVE_OPT:HiveoptionsForhelponaparticularservice:./hive--serviceserviceName--helpDebughelp:./hive--debug--help选项名称描述cli命令行界面用户定义表,执行查询等。如果没有指定其他服务,cli是默认服务。hiveserver2HiveServer监听来自于其他进程的Thrift连接的一个守护进程。hwiHiveWeb界面是一个可以执行查询语句和其他命令的简单Web界面,这样可以不用登录到集群中的某台机器上使用CLI来进行查询jarhadoopjar命令的扩展,这样可以执行需要Hive环境的应用metastore启动一个扩展的Hive元数据服务,可以供多客户端使用。rcfilecat一个可以打印出RCFile格式文件内容的工具。【学生实操】学生动手拿到Hive的帮助信息。【新课讲授】四、HiveCLI1、CLI选项“hive--help--servicecli”命令的简化版表示方式是hive-h【学生实操】【新课讲授】2、变量和属性定义自定义变量:$hive--definename=whx;hive--hivevarsex=f;显示和修改自定义变量set命令显示自定义变量值:hive>setname;hive>sethivevar:name;--hiveconf选项system和env命名空间【学生实操】【新课讲授】Hive中-e“一次使用”命令$hive-e"showtables;"【学生实操】【新课讲授】Hive中-f查询命令$hive-f/home/hadoop/demo.hql【学生实操】【新课讲授】.hiverc默认配置文件下面的例子显示的是一个典型的

$HOME/.hiverc文件中的内容:ADD

JAR

/path/to/custom_hive_extensions.

jar;set

hive.cli.print.current.db=true;set

hive.exec.mode.local.auto=true;【学生实操】【新课讲授】HiveCLI自动补全功能【学生实操】【新课讲授】查看操作命令历史Hive会将最近的10000行命令记录到文件

$HOME/.hivehistory中。【学生实操】【新课讲授】Hive

CLI中执行shell命令hive>!echo"Iliketoplaybadminton";【学生实操】【新课讲授】Hive

CLI中使用Hadoop的dfs命令hive>dfs-mkdir/tmp/file_one;【学生实操】【新课讲授】Hive脚本添加注释--Copyright

(c)2020

Whx.--BestHigherVocationalEducationBooks【学生实操】【新课讲授】HiveCLI显示字段名称hive>sethive.cli.print.header=true;【课堂测验】完成课堂测验题。【课堂作业】完成课堂作业【总结】 学生总结本次课的内容。【机房6S】 安排好学生的6S管理。【课后作业】完成课后作业。湖南汽车工程职业学院教师授课教案第5周第1-4课时累计24课时课程名称大数据仓库HIVE授课课题Hive基本操作授课专业班级大数据2101、大数据2102、大数据2103教学目标能熟练创建、查看数据库;能熟练查询、选择数据库;教学要点教学重点创建数据仓库教学难点数据仓库存储路径课型一体化授课教法与学法(教具)示范演示法、任务驱动教学法、分组合作教学法课后作业完成智课堂作业、看视频熟练操作教学后记(教师课后填写)授课教师王海霞、黄史记【课前复习】1、Hadoop和Hive强调优化磁盘的(读和写)的性能,而限制列的值的长度相对来说并不重要。2、TIMESTAMPS表示的是UTC时间,Hive本身提供了不同时区间互相转换的内置函数,即(

to_utc_timestamp函数)和

from_utc_timestamp函数。3、Hive和C语言中的struct或者“对象”类似,都可以通过(点)符号访问元素内容。4、MAP是一组(键-值)对元组集合,使用数组表示法可以访问元素。5、CSV,Comma-separatedvalues的缩写,是用(半角逗号)作为字段值的分隔符的文本文件;TSV,Tab-separatedvalues的缩写,是用(制表符)作为字段值的分隔符的文本文件。6、传统数据库是(写时模式),即数据在写入数据库时对模式进行检查。Hive不会在数据加载时进行验证,而是在查询时进行,也就是(读时模式)。7、Hadoop的通用和强大体现在它能够存储和处理任何类型的结构化、(半结构化)或(非结构化)数据。8、Hive不是一个数据库,而是一个友好且为我们所熟悉的接口,可以查询存储在(HDFS)上的底层数据文件。【作业点评】展示超星学生作业完成情况,并做点评。【学习目标】能熟练创建、查看数据库;能熟练查询、选择数据库;【课程导入】HiveQL是Hive査询语言。和普遍使用的所有SQL方言一样,基于ANSI标准SQL。HiveQL可能和MySQL方言最接近,但是两者还是存在显著性差异。Hive不支持行级插人操作、更新操作和删除操作,Hive也不支持事务。Hive增加了在Hadoop背景下的可以提供更高性能的扩展,以及个性化的扩展,甚至还增加了一些外部程序。当然了,大部分的HiveQL是很常见的。本章是HiveQL数据定义语言部分(DDL)的开始,主要是创建、查询、修改和删除数据库。Hive中数据库的概念本质上仅仅是表的一个目录或者命名空间。然而,对于具有很多组和用户的大集群来说,这是非常有用的,因为这样可以避免表命名冲突。通常会使用数据库来将生产表组织成逻辑组。【新课讲授】默认数据库Hive安装完成并初始化元数据后,会自动产生一个默认的数据库default。hive>showdatabases;OKdefaultTimetaken:0.041seconds,Fetched:1row(s)二、创建数据库1、创建数据库的语法形式CREATE(DATABASE|SCHEMA)[IFNOTEXISTS]database_name[COMMENTdatabase_comment][LOCATIONhdfs_path][WITHDBPROPERTIES(property_name=property_value,...)];IFNOTEXISTS是可选子句,通知用户是否具有相同名字的数据库存在;不使用该子句,如果该database_name数据库已经存在的话,将会抛出错误信息。COMMENT是可选子句,用户使用该子句为该数据库增加描述信息。LOCATION是可选子句,修改原来默认存储位置,并指定数据存储在hdfs_path路径,且该路径可以是不存在的。WITHDBPROPERTIES是可选子句,可为数据库设置与其相关的Key-Value(键-值对)格式的数据库属性,Key可以自定义。【例5-1】创建一个studentdb数据库实例,并为该数据库添加了描述信息、设置了存储位置及数据库属性。【例5-2】创建一个最简单的coursedb的数据库实例。【例5-3】使用SCHEMA关键字创建teacherdb数据库实例。2、查看数据库【学生练习】1、以下不属于Hive基础数据类型的是()CA、INTB、FLOATC、CHARD、STRING

2、TIMESTAMP数据类型的值不可以是()DA、整数B、浮点数C、STRINGD、BINARY3、TINYINT表示2byte有符号整数。()错【新课讲授】二、集合数据类型数据类型描述字面语法示例STRUCT和C语言中的struct或者“对象”类似,都可以通过“点”符号访问元素内容。例如,如果某个列的数据类型是STRUCT{firstSTRING,lastSTRING},那么第1个元素可以通过“字段名.first”来引用。struct(‘John’,’Doe’)MAPMAP是一组键-值对元组集合,使用数组表示法(例如[‘key’])可以访问元素。例如,如果某个列的数据是MAP,其中键->值对是‘first’->‘John’和‘last’>‘Doe’那么可以通过“字段名[‘last’]”获取最后1个元素。map(first’,Jor’,last’,Doe’)ARRAY数组是一组具有相同类型和名称的变量的集合,这些变量称为数组的元素,每个数组元素都有一个编号,编号从零开始。例如,数组值为[“John’,‘Doe’],那么第2个元素可以通过“数组名[1]”进行引用。Array(‘John’,‘Doe’)【学生练习】1、以下不是Hive中的列支持的集合数据类型的是()BA、structB、BINARYC、mapD、array2、数组sports(‘Football’,’Basketball’,’Badminton’,’Tabletennis’,’Volleyball’)中存放了各项球类运动,获取第3个数组元素的正确方式是()AA、sports[2]B、sports[3]C、sportsD、sports[Badminton]3、TIMESTAMPS表示的是UTC时间,Hive本身提供了不同时区间互相转换的内置函数,即(

to_utc_timestamp函数)和

from_utc_timestamp函数。4、Hive和C语言中的struct或者“对象”类似,都可以通过(点)符号访问元素内容。5、MAP是一组(键-值)对元组集合,使用数组表示法可以访问元素。【新课讲授】三、文本文件数据编码CSV,Comma-separatedvalues的缩写,是用半角逗号(‘,’)作为字段值的分隔符的文本文件;TSV,Tab-separatedvalues的缩写,是用制表符(Tab,'\t')作为字段值的分隔符的文本文件;TSV和CSV都是文本文件。Hive是支持TSV和CSV文件格式的。分隔符描述\n对于文本文件来说,每行都是一条记录,因此换行符可以分割记录^A(Ctrl+A)用于分隔字段(列)。在CREATETABLE语句中可以使用八进制编码\001表示^B用于分隔ARRARY或者STRUCT中的元素,或用于MAP中键-值对之间的分隔。在CREATETABLE语句中可以使用八进制编码\002表示^C用于MAP中键和值之间的分隔。在CREATETABLE语句中可以使用八进制编码\003表示【学生练习】1、CSV,Comma-separatedvalues的缩写,是用(半角逗号)作为字段值的分隔符的文本文件;TSV,Tab-separatedvalues的缩写,是用(制表符)作为字段值的分隔符的文本文件。2、Hadoop的通用和强大体现在它能够存储和处理任何类型的结构化、(半结构化)或(非结构化)数据。3、Hive不是一个数据库,而是一个友好且为我们所熟悉的接口,可以查询存储在(HDFS)上的底层数据文件。4、用户在表结构申明时可以不使用默认分隔符,而指定使用其他分隔符。()对5、Hive只支持txt格式文本文件,不支持TSV和CSV文件格式的文本文件。()错6、Hive到目前为止对于LINESTERMINATEDBY…仅支持字符‘\n’,即行与行之间的分隔符只能为‘\n’。()对【新课讲授】四、读时模式传统数据库中,当用户写入数据时,不管是采用装载外部数据的方式,还是采用将一个查询的输出结果写入的方式,或者是使用UPDATE语句等等,数据库对于存储都具有完全的控制力。数据库就是“守门人”,传统数据库是写时模式(schemaonwrite),即数据在写入数据库时对模式进行检查。Hive对底层存储并没有这样的控制。因此,Hive不会在数据加载时进行验证,而是在查询时进行,也就是读时模式(schemaonread)。【学生练习】1、传统数据库是(写时模式),即数据在写入数据库时对模式进行检查。Hive不会在数据加载时进行验证,而是在查询时进行,也就是(读时模式)。2、Hadoop的通用和强大体现在它能够存储和处理任何类型的结构化、(半结构化)或(非结构化)数据。3、Hive不是一个数据库,而是一个友好且为我们所熟悉的接口,可以查询存储在(HDFS)上的底层数据文件。4、以下对于Hive的读时模式描述错误的是()DA、Hive并不控制数据如何在磁盘上持久化,也不控制数据的生命周期。B、Hive不会在数据加载时进行验证,而是在查询时进行,也就是读时模式(schemaonread)。C、Hive需要在元数据中提供一些额外信息,以便准确解释所存储数据的格式。D、Hive在读取数据时发现模式和文件内容并不匹配,则会直接读取失败,返回错误信息。【课堂测验】完成课堂测验题。【课堂作业】完成课堂作业【总结】 学生总结本次课的内容。【机房6S】 安排好学生的6S管理。【课后作业】完成课后作业。湖南汽车工程职业学院教师授课教案第5周第5-8课时累计28课时课程名称大数据仓库HIVE授课课题Hive基本操作授课专业班级大数据2101、大数据2102、大数据2103教学目标能熟练修改数据库自定义属性和数据库属主;能熟练删除数据库。教学要点教学重点修改数据仓库教学难点修改数据仓库课型一体化授课教法与学法(教具)示范演示法、任务驱动教学法、分组合作教学法课后作业完成智课堂作业、看视频熟练操作教学后记(教师课后填写)授课教师王海霞、黄史记【课前复习】1、Hadoop和Hive强调优化磁盘的(读和写)的性能,而限制列的值的长度相对来说并不重要。2、TIMESTAMPS表示的是UTC时间,Hive本身提供了不同时区间互相转换的内置函数,即(

to_utc_timestamp函数)和

from_utc_timestamp函数。3、Hive和C语言中的struct或者“对象”类似,都可以通过(点)符号访问元素内容。4、MAP是一组(键-值)对元组集合,使用数组表示法可以访问元素。5、CSV,Comma-separatedvalues的缩写,是用(半角逗号)作为字段值的分隔符的文本文件;TSV,Tab-separatedvalues的缩写,是用(制表符)作为字段值的分隔符的文本文件。6、传统数据库是(写时模式),即数据在写入数据库时对模式进行检查。Hive不会在数据加载时进行验证,而是在查询时进行,也就是(读时模式)。7、Hadoop的通用和强大体现在它能够存储和处理任何类型的结构化、(半结构化)或(非结构化)数据。8、Hive不是一个数据库,而是一个友好且为我们所熟悉的接口,可以查询存储在(HDFS)上的底层数据文件。【作业点评】展示智课堂学生作业完成情况,并做点评。【学习目标】能熟练修改数据库自定义属性和数据库属主;能熟练删除数据库。【课程导入】一、数据仓库的查询在Hive中,查询数据仓库的基本语法格式如下所示。SHOWDATABASES[LIKE...];LIKE为可选子句,后接正则表达式。当Hive中的数据仓库非常多时,可以快速匹配筛选出所需的数据仓库。【例2-2】筛选出所有以字母“c”开头的所有数据仓库。数据仓库的切换在Hive中,切换数据仓库的基本语法格式如下所示。USEdatabase_name;【例2-3】切换至coursedb数据仓库。二、数据仓库的查看在Hive中,查看数据仓库详情的基本语法格式如下所示。(DESCRIBE|DESC)(DATABASE|SCHEMA)[EXTENDED]database_name;三、数据仓库的存储位置1.配置参数的3种方式2.查看数据仓库默认存储位置3.指定数据仓库存储位置四、修改和删除数据仓库(1)数据仓库的修改1.修改数据仓库的属性在Hive中修改数据仓库的属性的基本语法格式如下所示。ALTER(DATABASE|SCHEMA)database_nameSETDBPROPERTIES(property_name=property_value,...);用户可以使用ALTERDATABASE语句修改或添加数据仓库的DBPROPERTIES键-值对属性值,来描述这个数据仓库的属性信息。【例2-6】先创建studentdb数据仓库,再修改该数据仓库。为studentdb数据仓库先添加Date属性,其值为2022-11-20,再添加Edit-by属性,其值为Mr.Cui,并查看该数据仓库信息。2.修改数据仓库的属主使用HDFS超级用户创建数据仓库后,该数据仓库在HDFS上的存储路径的属主为超级用户,如果该数据仓库是由某个或某些用户使用的,就需要修改路径属主,或者在Hive中进行授权。修改数据仓库属主的语法格式如下所示。ALTER(DATABASE|SCHEMA)database_nameSETOWNER[USER|ROLE]user_or_role;【例2-7】将coursedb数据仓库的属主修改为public。(2)数据仓库的删除在Hive中删除数据仓库的语法格式如下所示。DROP(DATABASE|SCHEMA)[IFEXISTS]database_name[RESTRICT|CASCADE];【课堂测验】完成课堂测验题。【课堂作业】完成课堂作业【总结】 学生总结本次课的内容。【机房6S】 安排好学生的6S管理。【课后作业】完成课后作业。湖南汽车工程职业学院教师授课教案第4周第5-8课时累计32课时课程名称大数据仓库HIVE授课课题Hive基本操作授课专业班级大数据2101、大数据2102、大数据2103教学目标能熟记Hive的基本数据类型及其特点;能熟记Hive的集合数据类型及其特点;能理解常用文本文件数据编码;能阐述清楚Hive的读时模式教学要点教学重点Hive的集合数据类型教学难点Hive的集合数据类型课型一体化授课教法与学法(教具)示范演示法、任务驱动教学法、分组合作教学法课后作业完成智课堂作业、看视频熟练操作教学后记(教师课后填写)授课教师王海霞、黄史记【课前复习】1、当执行hive

--help

命令时返回结果中不会出现在Service

List后面的服务是()BA、cliB、hiveC、hiveserverD、hwi2、以下哪个Hive的命名空间中不具有可写的权限()DA、hivevarB、hiveconfC、systemD、env3、以下命令中修改变量值用法错误的是()DA、hive>

set

hivevar:name=qiuqiu;B、hive>

set

name=qiuqiu;C、hive>

set

hiveconf:hive.cli.print.current.db=true;D、hive>

set

env:

HOME=/root;4、HiveCLI中增加()选项可以开启静默模式,这样可以在输出结果中去掉“OK”和“

Time

taken”等行,以及其他一些无关紧要的输出信息。DA、-eB、-iC、-fD、-S5、CLI通过键盘的()键支持自动补全功能。CA、EnterB、CtrlC、TabD、Shift6、以下在hive

CLI中执行

bash

shell命令,操作正确的是()AA、hive>!/bin/echo

"Iliketoplaybadminton.";B、hive>/bin/echo

"Iliketoplaybadminton.";C、hive>

/bin/echo

"Iliketoplaybadminton."D、hive>!/bin/echo

"Iliketoplaybadminton."7、Hive脚本使用()符号添加注释。CA、#B、<!---->C、--D、//8、设置让CLI打印出字段名称的命令正确的是()AA、hive>

set

hive.cli.print.

header=true;B、hive>

set

hiveconf:hive.cli.print.current.db=true;C、hive>set

hive.cli.print.

header;D、hive>

set

hiveconf:hive.cli.print.current.db;【作业点评】展示智课堂学生作业完成情况,并做点评。【学习目标】能熟记Hive的基本数据类型及其特点;能熟记Hive的集合数据类型及其特点;能理解常用文本文件数据编码;能阐述清楚Hive的读时模式【课程导入】Hive支持关系型数据库中的大多数基本数据类型,同时也支持关系型数据库中很少出现的3种集合数据类型。这些数据类型是如何在文本文件中进行表示的?文本存储中为了解决各种性能问题以及其他问题有哪些替代方案?和大多数的数据库相比,Hive具有一个独特的功能,那就是其对于数据在文件中的编码方式具有非常大的灵活性。大多数的数据库对数据具有完全的控制,这种控制既包括对数据存储到磁盘的过程的控制,也包括对数据生命周期的控制。Hive将这些方面的控制权转交给用户,以便更加容易地使用各种各样的工具来管理和处理数据。【新课讲授】一、基本数据类型数据类型长度例子TINYINT1byte有符号整数20SMALINT2byte有符号整数20INT4byte有符号整数20BIGINT8byte有符号整数20BOOLEAN布尔类型,true或者falseTRUEFLOAT单精度浮点数3.14159DOUBLE双精度浮点数3.14159STRING字符序列,可以指定字符集。可以使用单引号或者双引号‘nowisthetime’,“forallgoodmen”TIMESTAMP整数,浮点数或者字符串1327882394(unix新纪元秒),1327882394.123456789(unix新纪元秒并跟随有纳秒数),‘2020-02-0108:12:55.123456789’(JDBC所兼容的java.sql.Timestamp时间格式)BINARY字节数组【学生练习】1、以下不属于Hive基础数据类型的是()CA、INTB、FLOATC、CHARD、STRING

2、TIMESTAMP数据类型的值不可以是()DA、整数B、浮点数C、STRINGD、BINARY3、TINYINT表示2byte有符号整数。()错【新课讲授】二、集合数据类型数据类型描述字面语法示例STRUCT和C语言中的struct或者“对象”类似,都可以通过“点”符号访问元素内容。例如,如果某个列的数据类型是STRUCT{firstSTRING,lastSTRING},那么第1个元素可以通过“字段名.first”来引用。struct(‘John’,’Doe’)MAPMAP是一组键-值对元组集合,使用数组表示法(例如[‘key’])可以访问元素。例如,如果某个列的数据是MAP,其中键->值对是‘first’->‘John’和‘last’>‘Doe’那么可以通过“字段名[‘last’]”获取最后1个元素。map(first’,Jor’,last’,Doe’)ARRAY数组是一组具有相同类型和名称的变量的集合,这些变量称为数组的元素,每个数组元素都有一个编号,编号从零开始。例如,数组值为[“John’,‘Doe’],那么第2个元素可以通过“数组名[1]”进行引用。Array(‘John’,‘Doe’)【学生练习】1、以下不是Hive中的列支持的集合数据类型的是()BA、structB、BINARYC、mapD、array2、数组sports(‘Football’,’Basketball’,’Badminton’,’Tabletennis’,’Volleyball’)中存放了各项球类运动,获取第3个数组元素的正确方式是()AA、sports[2]B、sports[3]C、sportsD、sports[Badminton]3、TIMESTAMPS表示的是UTC时间,Hive本身提供了不同时区间互相转换的内置函数,即(

to_utc_timestamp函数)和

from_utc_timestamp函数。4、Hive和C语言中的struct或者“对象”类似,都可以通过(点)符号访问元素内容。5、MAP是一组(键-值)对元组集合,使用数组表示法可以访问元素。【新课讲授】三、文本文件数据编码CSV,Comma-separatedvalues的缩写,是用半角逗号(‘,’)作为字段值的分隔符的文本文件;TSV,Tab-separatedvalues的缩写,是用制表符(Tab,'\t')作为字段值的分隔符的文本文件;TSV和CSV都是文本文件。Hive是支持TSV和CSV文件格式的。分隔符描述\n对于文本文件来说,每行都是一条记录,因此换行符可以分割记录^A(Ctrl+A)用于分隔字段(列)。在CREATETABLE语句中可以使用八进制编码\001表示^B用于分隔ARRARY或者STRUCT中的元素,或用于MAP中键-值对之间的分隔。在CREATETABLE语句中可以使用八进制编码\002表示^C用于MAP中键和值之间的分隔。在CREATETABLE语句中可以使用八进制编码\003表示【学生练习】1、CSV,Comma-separatedvalues的缩写,是用(半角逗号)作为字段值的分隔符的文本文件;TSV,Tab-separatedvalues的缩写,是用(制表符)作为字段值的分隔符的文本文件。2、Hadoop的通用和强大体现在它能够存储和处理任何类型的结构化、(半结构化)或(非结构化)数据。3、Hive不是一个数据库,而是一个友好且为我们所熟悉的接口,可以查询存储在(HDFS)上的底层数据文件。4、用户在表结构申明时可以不使用默认分隔符,而指定使用其他分隔符。()对5、Hive只支持txt格式文本文件,不支持TSV和CSV文件格式的文本文件。()错6、Hive到目前为止对于LINESTERMINATEDBY…仅支持字符‘\n’,即行与行之间的分隔符只能为‘\n’。()对【新课讲授】四、读时模式传统数据库中,当用户写入数据时,不管是采用装载外部数据的方式,还是采用将一个查询的输出结果写入的方式,或者是使用UPDATE语句等等,数据库对于存储都具有完全的控制力。数据库就是“守门人”,传统数据库是写时模式(schemaonwrite),即数据在写入数据库时对模式进行检查。Hive对底层存储并没有这样的控制。因此,Hive不会在数据加载时进行验证,而是在查询时进行,也就是读时模式(schemaonread)。【学生练习】1、传统数据库是(写时模式),即数据在写入数据库时对模式进行检查。Hive不会在数据加载时进行验证,而是在查询时进行,也就是(读时模式)。2、Hadoop的通用和强大体现在它能够存储和处理任何类型的结构化、(半结构化)或(非结构化)数据。3、Hive不是一个数据库,而是一个友好且为我们所熟悉的接口,可以查询存储在(HDFS)上的底层数据文件。4、以下对于Hive的读时模式描述错误的是()DA、Hive并不控制数据如何在磁盘上持久化,也不控制数据的生命周期。B、Hive不会在数据加载时进行验证,而是在查询时进行,也就是读时模式(schemaonread)。C、Hive需要在元数据中提供一些额外信息,以便准确解释所存储数据的格式。D、Hive在读取数据时发现模式和文件内容并不匹配,则会直接读取失败,返回错误信息。【课堂测验】完成课堂测验题。【课堂作业】完成课堂作业【总结】 学生总结本次课的内容。【机房6S】 安排好学生的6S管理。【课后作业】完成课后作业。湖南汽车工程职业学院教师授课教案第5周第1-4课时累计36课时课程名称大数据仓库HIVE授课课题Hive基本操作授课专业班级大数据2101、大数据2102、大数据2103教学目标了解表的基本概念;理解内部表、外部表和分区表的含义及区别;能熟练创建表。教学要点教学重点能熟练创建表教学难点表的基本概念课型一体化授课教法与学法(教具)示范演示法、任务驱动教学法、分组合作教学法课后作业完成智课堂作业、看视频熟练操作教学后记(教师课后填写)授课教师王海霞【课前复习】创建数据库的命令?切换数据库的命令?如何修改数据库属性?【作业点评】展示智课堂学生作业完成情况,并做点评。【学习目标】了解表的基本概念;理解内部表、外部表和分区表的含义及区别;能熟练创建表。【课程导入】本章继续HiveDDL中表的操作,主要是创建、查看、修改、保护、删除Hive中的内部表、外部表、分区表。在实现各类表的各种操作时,要特别理解各类表间的区别及各类表的表结构与表数据之间的关联。【新课讲授】表的基本概念Hive数据模型包含一个关于数据的逻辑行列视图,被称作表。就像关系数据库一样,Hive表由一个关于数据的二维视图定义组成。然而,数据独立于表存在。Hive表中的数据存在于HDFS目录中,而表的定义存储在一个名为HCatalog的关系数据库中。Hive表和关系数据库的表之间存在一些重要区别。二、创建表1、创建数据库的语法形式Hive中创建表,其基本语法声明如下:CREATE[EXTERNAL]TABLE[IFNOTEXISTS][db_name.]table_name[(col_namedata_type[COMMENTcol_comment],...)][COMMENTtable_comment][PARTITIONEDBY(col_namedata_type[COMMENTcol_comment],...)][CLUSTEREDBY(col_name,col_name,...)[ROWFORMATrow_format][STOREDASfile_format][TBLPROPERTIYES(property_name=property_value,...)][LOCATIONhdfs_path]其中,所有[]中的内容都是可选项,详细语法解释如下表。表6-1创建表语句语法详解关键字语法解释CREATE用于创建表的关键字。EXTERNAL可选子句。用于指定该表是一张外部表。IFNOTEXISTS可选子句。通知用户是否具有相同名字的表存在。使用该子句,如果存在相同表名,忽略后面的语句,不再创建该表;不使用该子句,如果该table_name表已经存在的话,将会抛出错误信息。COMMENT可选子句。用于添加注释,根据所处的位置,为不同的内容添加注释,例如,如果用在某个字段后面则是为该字段添加注释,如果用在整个字段定义的后面则是用来为该表添加一个注释。PARTITIONEDBY可选子句。用于创建分区表,注意分区的字段不可在普通字段中重复出现。分区表在工作中十分常见,一般来说公司所有的表都会以日期进行分区,以便提高查询效率。CLUSTEREDBY可选子句。Hive中的分桶操作。ROWFORMAT可选子句。用于指定数据切分格式,一般使用'\t'作为列之间的切分格式。STOREDAS可选子句。用于设定数据在Hive中的存储格式,一般不指定,直接使用默认。TBLPROPERTIYES可选子句。可为表设置表层级的Key-Value(键-值对)格式的表属性,Key可以自定义。LOCATION可选子句。指定表的数据文件存放的HDFS目录,不管内部表还是外表,都可以指定。不指定时表的数据文件存放再默认的仓库路径。【例6-1】创建外部表学生表student_externel并添加comment注释。【例6-2】在指定的studentdb数据中创建外部表学生表student_externel。外部表内部表内部表,又称管理表,因为内部表,Hive会(或多或少)控制这数据的生命周期。这意味着当你删除一个内部表时,Hive也将删除这个表的底层数据。这类表在Hadoop中并不经常使用,因为在大多数环境中,即使是将表删除了文件系统中的数据仍然需要保留。在Hive中,由于数据和元数据没有绑定在一起,因此它允许底层数据与pig或其他工具一起使用。【例6-3】在数据库studentdb中创建内部表学生表student_internel。4、外部表和内部表的区别【例6-4】本例中共有8个步骤,以说明同一数据集上能创建多个表,及内部表对于数据的控制。请依次完成以下操作:第1步,将本地文件hunan_city.txt加载到HDFS中的/user/test/city目录并验证。第2步,创建内部表city_internal来访问文件hunan_city.txt中的数据。第3步,加载另一个本地文件guangdong_city.txt到HDFS中的/user/test/city目录并验证。第4步,再次查询内部表city_internal中的内容。第5步,在同一数据集/user/test/city上创建外部表city_external_one并查看该表中的数据。第6步,在同一数据集/user/test/city上创建第2个外部表city_external_two,并查看该表中的数据。第7步,删除第2个外部表city_external_two并查询city_internal表和city_external_one表中的数据。第8步,删除内部表city_internal并查询外部表city_external_one中的数据。5、其他创建表命令CTAS命令CREATETABLELIKE命令如果想复制某个已有表的模式而不复制它的数据,可以使用CREATETABLELIKE命令。【例6-5】使用CREATETABLE复制外部表student_external的表模式,且名为student_external_copy,student_external_copy为内部表。【例6-6】使用CREATETABLE复制内部表student_internal的表模式,且名为student_internal_copy,student_internal_copy为内部表。【例6-7】使用CREATEEXTERNALTABLE复制外部表student_external的表模式,且名为student_external_copy2,student_external_copy2为外部表。【例6-8】使用CREATEEXTERNALTABLE复制内部表student_internal的表模式,且名为student_internal_copy2,student_internal_copy2为外部表。【学生练习】1、以下不属于Hive基础数据类型的是()CA、INTB、FLOATC、CHARD、STRING

2、TIMESTAMP数据类型的值不可以是()DA、整数B、浮点数C、STRINGD、BINARY3、TINYINT表示2byte有符号整数。()错【新课讲授】二、集合数据类型数据类型描述字面语法示例STRUCT和C语言中的struct或者“对象”类似,都可以通过“点”符号访问元素内容。例如,如果某个列的数据类型是STRUCT{firstSTRING,lastSTRING},那么第1个元素可以通过“字段名.first”来引用。struct(‘John’,’Doe’)MAPMAP是一组键-值对元组集合,使用数组表示法(例如[‘key’])可以访问元素。例如,如果某个列的数据是MAP,其中键->值对是‘first’->‘John’和‘last’>‘Doe’那么可以通过“字段名[‘last’]”获取最后1个元素。map(first’,Jor’,last’,Doe’)ARRAY数组是一组具有相同类型和名称的变量的集合,这些变量称为数组的元素,每个数组元素都有一个编号,编号从零开始。例如,数组值为[“John’,‘Doe’],那么第2个元素可以通过“数组名[1]”进行引用。Array(‘John’,‘Doe’)【课堂测验】完成课堂测验题。【课堂作业】完成课堂作业【总结】 学生总结本次课的内容。【机房6S】 安排好学生的6S管理。【课后作业】完成课后作业。湖南汽车工程职业学院教师授课教案第5周第5-8课时累计40课时课程名称大数据仓库HIVE授课课题Hive基本操作授课专业班级大数据2101、大数据2102、大数据2103教学目标熟练查看表及表结构能熟练创建和查看外部、内部分区表理解表属性及表的存储结构教学要点教学重点能熟练创建和查看外部、内部分区表教学难点外部分区表和内部分区表的区别及各自使用场景课型一体化授课教法与学法(教具)示范演示法、任务驱动教学法、分组合作教学法课后作业完成智课堂作业、看视频熟练操作教学后记(教师课后填写)授课教师王海霞、黄史记【课前复习】外部表和内部表的区别是什么?【作业点评】展示智课堂学生作业完成情况,并做点评。【学习目标】熟练查看表及表结构能熟练创建和查看外部、内部分区表理解表属性及表的存储结构【课程导入】本章继续HiveDDL中表的操作,主要是创建、查看、修改、保护、删除Hive中的内部表、外部表、分区表。在实现各类表的各种操作时,要特别理解各类表间的区别及各类表的表结构与表数据之间的关联。【新课讲授】一、查看表1、使用SHOWTABLES命令查看当前活动数据库中的表。【例6-9】查看当前活动的default数据库中的所有表hive>SHOWTABLES;2、查看指定数据库中所有表使用SHOWTABLESIN。【例6-10】查看指定的studentdb中的数据库:hive>SHOWTABLESINstudentdb;3、当数据库中表非常多时,使用SHOWTABLESLIKE后跟正则表达式匹配筛选出需要查看的表名。 【例6-11】筛选出当前活动的default数据库中所有以字母s开头,以其他字符结尾的表名:hive>SHOWTABLESLIKE"s.*";查看表结构查看表结构的语法格式:DESCRIBE[EXTENDED/FORMATTED][db_name.]table_name;其中,所有[]中的内容都是可选项,详细语法解释如下表。表6-1查看表结构语句语法详解关键字语法解释DESCRIBE用于描述表的关键字。EXTENDED/FORMATTED可选项,使用后会输出更详细的表结构信息。使用FORMATTED关键字比EXTENDED关键字输出的信息更详细,且可读性更高。[db_name.]可选项,如果表在当前所处的工作数据库下,可以省略;如果需要查看其他数据库下的表结构,则需要通过这个前缀指定表所在的数据库。【例6-12】使用三个方式查看当前活动的default数据库中创建

温馨提示

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

评论

0/150

提交评论