《Hive数据仓库技术与应用案例教程》项目3 项目3 Hive数据定义.pptx

《Hive数据仓库技术与应用案例教程》项目3 项目3 Hive数据定义.pptx

  1. 1、本文档共175页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

;;;;;;;;;;为了能够准确地定义影视分析数据仓库的存储结构,本项目将先对Hive数据定义的相关知识进行介绍,包括数据库的基本操作、表的基本操作、外部表、分区表、桶表、临时表和视图等。;全班学生以3~5人为一组进行分组,各组选出组长。组长组织组员扫码观看“数据库、表和视图”视频,讨论并回答下列问题。

问题1:简述数据库、表和视图之间的关系。

问题2:简述Hive中表的类型。;;;在Hive中,数据库是一个目录或命名空间,用于分类存储表。

它不仅可以避免不同表之间的命名冲突,确保表名的唯一性;还可以将具有相关性的表放置在同一个数据库中,方便管理和查询数据。;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;在Hive中,表是存储和管理数据的基本结构。

表的元数据存储在数据库中,如Derby和MySQL数据库;表的实际数据存储在对应的HDFS目录中,这些目录会在创建表时自动创建,并以表名命名。;是Hive的基本表;向内部表中导入数据时,该表的实际数据会从原来的HDFS目录移动到Hive管理的HDFS目录中。

Hive可以管理内部表的元数据和实际数据,因此删除内部表时,会同时删除表的元数据和实际数据。;接下来,以内部表为例介绍表的基本操作。;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;在Hive中,使用EXTERNAL关键字创建的表为外部表。与内部表不同,向外部表中导入数据时,实际数据不会从原来的HDFS目录移动到Hive管理的HDFS目录中,而是保留在原来的HDFS目录中,外部表会与实际数据建立映射关系。

Hive只管理外部表的元数据,因此删除外部表时,只会删除表的元数据,不会删除表的实际数据。;创建外部表的语法格式如下。;创建外部表的语法格式如下。;【例3-15】根据表中学生数据的字段信息,在数据库hive_database中创建外部表external_table。;(2)执行如下语句,创建外部表external_table。;ROWFORMATDELIMITED

FIELDSTERMINATEDBY,

COLLECTIONITEMSTERMINATEDBY_

MAPKEYSTERMINATEDBY:

LINESTERMINATEDBY\n

LOCATION/user/hive_external/external_tables;;(3)执行如下语句,显示数据库hive_database中的所有表,验证外部表external_table是否创建成功。;;;;分区表可以根据一个或多个分区字段的值对数据进行分区,每个分区都对应一个子目录,每个分区的数据存储在相应的子目录中。

分区字段不是表中的实际字段,而是一个或者多个用于对数据进行逻辑划分的伪字段。也就是说,分区字段的值会用作子目录的名称,并不会直接保存在数据文件中。;创建分区表可以理解为使用PARTITIONEDBY关键字对内部表或外部表中的数据进行分区,其语法格式如下。;创建分区表可以理解为使用PARTITIONEDBY关键字对内部表或外部表中的数据进行分区,其语法格式如下。;【例3-16】在数据库hive_database中创建分区表partition_table,分区字段为college和class。;分区表partition_table的分区属于二级分区,即在分区表的数据目录中会出现多个college子目录,用于存放不同college的数据;在每个college目录中会出现多个class子目录,用于存放不同class的数据。;;显示分区的语法格式如下。;分区名是数据存储路径的一部分,默认情况下Hive不支持含有中文或特殊字符的分区名。因此,分区字段的值不能含有中文或特殊字符。;【例3-17】显示数据库hive_database中分区表partition_table的分区。;从图中可以看出,此时分区表partition_table的分区为空,因为此时分区表partition_table中只存在分区字段,还没有实际分区。;在Hive中,添加分区是指在分区表中根据分区字段添加实际分区,其语法格式如下。;【例3-18】在数据库hive_database的分区表partition_table中添加分区。;;从图中可以看出,分区表partition_table中成功添加了两个二级分区,分别是college=Arts/class=1和college=English/class=2。;查看分区信息的语法格式如下。;【例3-19】查看数据库hive_database的分区表partition_table中college=Arts

文档评论(0)

1亿VIP精品文档

相关文档