数据仓库Hive应用实战 教案37-40课时-查看表、表结构、创建和查询分区表、表属性及存储格式_第1页
数据仓库Hive应用实战 教案37-40课时-查看表、表结构、创建和查询分区表、表属性及存储格式_第2页
数据仓库Hive应用实战 教案37-40课时-查看表、表结构、创建和查询分区表、表属性及存储格式_第3页
数据仓库Hive应用实战 教案37-40课时-查看表、表结构、创建和查询分区表、表属性及存储格式_第4页
数据仓库Hive应用实战 教案37-40课时-查看表、表结构、创建和查询分区表、表属性及存储格式_第5页
已阅读5页,还剩1页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

湖南汽车工程职业学院教师授课教案第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数据库中创建的city_external_one表结构。三、分区表1、创建和查询内部分区表分区表改变了Hive对数据存储的组织方式,提高了查询速度。【例6-14】创建分区表student_in_partition,以学生班级class为分区字段,并插入数据stname='Zhangsan',av_score=92.5,class='BigData1901'和数据stname='Zhouhui',av_score=83.5,class='Network1901'后,查看分区表的存储目录。分区表可以创建多个分区字段,分区字段的顺序将决定谁是父目录,谁是子目录。【例6-15】创建分区表student_in_partition2,以学生入学年份grade和学生班级class为分区字段,并插入数据stname='Luotian',av_score=88.1,grade=2018,class='BigData1801'、数据stname='Wangan',av_score=75.5,grade=2018,class='BigData1802'、数据stname='Zhangsan',av_score=83.5,grade=2019,class='Network1901'、数据stname='Liming',av_score=80,grade=2019,class='Network1902'后,查看分区表的存储目录。分区字段(上例中是grade和class)一旦创建好,其就和普通的字段一样。对数据进行分区,最重要的原因是为了更快地查询。【例6-16】查询student_in_partition2表中的所有数据信息。【例6-17】查询2018年的所有班级信息。2、创建和查询外部分区表外部表也可以使用分区,而且这是管理大型生产数据集最常见的情况。外部和分区的结合不仅给用户提供了可以和其他工具共享数据的方式,同时也可以优化查询性能。由于用户可以自己定义目录结构,因此用户对于目录结构的使用具有更多的灵活性。【例6-18】创建外部分区表student_ex_partition,以学生入学年份grade和学生班级class为为分区字段,并增加一个2018年BigData1801班的分区数据。Hive不关心一个分区所对应的分区目录是否存在或者分区目录下是否有文件,如果分区目录不存在或分区目录下没有文件,则对于该过滤分区的查询将没有返回结果。3、查看分区信息Hive中可以查看内部分区表和外部分区表的分区信息,其基本语法声明如下:SHOWPARTITIONS[db_name.]table_name[PARTITION(partition_spec)];【例6-19】查看内部分区表student_in_partition2和外部分区表student_ex_partition中的所有分区信息。【例6-20】查看内部分区表student_in_partition2中的grade为2018下的所有分区表信息,和外部分区表student_ex_partition中的grade为2018下的所有分区信息。【例6-21】通过DESCRIBE命令查询表student_in_partition2和student_ex_partition分区信息。【例6-22】查看外部分区表student_ex_partition实际数据所在的路径。四、表属性在创建表或者使用TBLPROPERTIES子句更改表时,可以在表层级上指定一些属性。Hive有预定义的表属性,通过这些属性可以在表层级上定义一些配置,以供Hive管理表时使用。也可以使用TBLPROPERTIYES子句中键值对格式来定义自定义属性,以便存储表层级的元数据或有关表的额外信息。以下是Hive内置的部分TBLPROPERTIES:TBLPROPERTIES(""="table_name")TBLPROPERTIES("immutable"="true")or("immutable"="false")TBLPROPERTIES("press"="ZLIB")or("press"="SNAPPY")or("press"="NONE")TBLPROPERTIES("auto.purge"="true")or("auto.purge"="false")TBLPROPERTIES("EXTERNAL"="TRUE")TBLPROPERTIES("skip.header.line.count"="1")【例6-23】利用skip.header.1ine.count属性查看去除标题行的数据。五、表的存储格式在hive中,表的默认存储格式是文本文件格式(TEXTFILE),默认的分割符是不可见字符。但用户在创建表时可以通过可选子句STOREDAS…显式指定存储格式,通过ROWFORMAT子句指定各种各样的分隔符。语法格式参见6.2节。【例6-24】创建表student_store,指定其存储格式定义为TEXTFILE,字段分隔符为'\001',集合数据类型分割符为'\002',MAP类型的KEY和VALUE间分隔符为'\003',行的分隔符使用’/n’。【例6-25】使用CTAS语句将表student_store中的查询结果用以创建表stu

温馨提示

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

评论

0/150

提交评论