版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《Hive数据仓库应用与实战》Hive数据仓库应用与实战项目三解析HiveQL语法任务二解析HiveQLDDL回顾回顾知识点1Hive基本数据类型回顾知识点2Hive复杂数据类型任务引入DDL,是对数据库内部的对象进行创建,删除,修改等的操作语言。本任务将基于数据库和表,讲解Hive中DDL语言的用法。任务概要任务描述:本任务介绍Hive的数据定义语言,主要用于在数据库中创建新表或删除表,以及为表加入索引等,本任务将讲解常用的集中DDL语言,同学们学完之后能够根据需求创建、修改数据库和表。任务教学目标:掌握数据库的创建、查询、删除、修改、切换方法。掌握表的创建、展示、查询、修改、阶段、删除、修改分区方法。一基于数据库的DDL操作二基于表的DDL操作教学内容基于数据库的DDL操作知识点一(一)基于数据库的DDL操作CreateDatabaseCREATE(DATABASE|SCHEMA)[IFNOTEXISTS]database_name[COMMENTdatabase_comment][LOCATIONhdfs_path][WITHDBPROPERTIES(property_name=property_value,...)];1、创建数据库(CreateDatabase)(一)基于数据库的DDL操作按照要求创建hive1、hive2、hive3三个数据库:hive>CREATEDATABASEhive1;hive>CREATEDATABASEIFNOTEXISTShive2;>COMMENT"thisishadoopdatabase">WITHDBPROPERTIES("creator"="hadoop","date"="2021-07-30");hive>CREATEDATABASEhive3LOCATION'/db_hive3';1、创建数据库(CreateDatabase)(一)基于数据库的DDL操作在HDFS中查看数据库文件夹:[root@localhost~]$hadoopfs-ls/user/hive/warehouse在RDBMS中查看数据库相关信息:mysql>usemetastore;mysql>select*fromDBS\G1、创建数据库(CreateDatabase)(一)基于数据库的DDL操作下面是官网上为我们列出的语法:SHOW(DATABASES|SCHEMAS)[LIKE'identifier_with_wildcards'];2、查询数据库(ShowDatabases)(一)基于数据库的DDL操作查看我们刚才创建的3个数据库:hive>showdatabases;hive>showdatabaseslike'hive1';hive>showdatabaseslike'hive*';2、查询数据库(ShowDatabases)(一)基于数据库的DDL操作下面是官网上为我们列出的语法:DESCRIBEDATABASE[EXTENDED]db_name;--describe可简写为desc;3、查询数据库信息(DescribeDatabase)DESCRIBEDATABASEdb_name:查看数据库的描述信息和文件目录位置路径信息;EXTENDED:加上数据库键值对的属性信息。(一)基于数据库的DDL操作查询刚才创建的3个数据库的信息:hive>descdatabasehive1;hive>descdatabasehive2;hive>descdatabasehive3;hive>descdatabaseextendedhive2;3、查询数据库信息(DescribeDatabase)(一)基于数据库的DDL操作下面是官网上为我们列出的语法:DROP(DATABASE|SCHEMA)[IFEXISTS]database_name[RESTRICT|CASCADE];4、删除数据库(DropDatabase)RESTRICT:默认是restrict,如果该数据库还有表存在则报错;CASCADE:级联删除数据库(当数据库还有表时,级联删除表后再删除数据库)--生产尽量不用。(一)基于数据库的DDL操作下面是官网上为我们列出的语法:ALTER(DATABASE|SCHEMA)database_nameSETDBPROPERTIES(property_name=property_value,...);5、修改数据库信息(AlterDatabase)(一)基于数据库的DDL操作我们对数据库hive2进行如下修改。hive>alterdatabasehive2setdbproperties("update"="hadoop");hive>alterdatabasehive2setowneruserhive;5、修改数据库信息(AlterDatabase)(一)基于数据库的DDL操作修改前。hive>descdatabasehive2;OKdb_name comment location owner_name owner_type parametershive2 thisishadoopdatabase hdfs://192.168.6.131:9000/user/hive/warehouse/hive2.db root USER Timetaken:0.054seconds,Fetched:1row(s)5、修改数据库信息(AlterDatabase)(一)基于数据库的DDL操作修改后。hive(default)>descdatabaseextendedhive2;OKdb_name comment location owner_name owner_type parametershive2 thisishadoopdatabase hdfs://192.168.6.131:9000/user/hive/warehouse/hive2.db hive USER {date=2021-07-30,creator=hadoop,update=hadoop}5、修改数据库信息(AlterDatabase)(一)基于数据库的DDL操作切换数据库的语法为:USEdatabase_name;如:hive>usehive1;hive>usedefault;6、切换数据库(UseDatabase)基于表的DDL操作知识点二(二)基于表的DDL操作下面是官网上为我们列出的语法:CREATE[TEMPORARY][EXTERNAL]TABLE[IFNOTEXISTS][db_name.]table_name后面讲详细讲解表创建的参数。1、创建表(CreateTable)(二)基于表的DDL操作TEMPORARY(临时表)
CREATETEMPORARYTABLE...1、创建表(CreateTable)如果创建的临时表表名已存在,那么当前session引用到该表名时实际用的是临时表,只有drop或rename临时表名才能使用原始表;临时表限制:不支持分区字段和创建索引。(二)基于表的DDL操作TEMPORARY(临时表)
hive>CREATETEMPORARYTABLEtemporary_table(>idint,>namestring);1、创建表(CreateTable)(二)基于表的DDL操作ManagedandExternalTables(内部表和外部表)
CREATEExternalTABLE...1、创建表(CreateTable)Hive上有两种类型的表,一种是ManagedTable(默认的),另一种是ExternalTable(加上EXTERNAL关键字)。它俩的主要区别在于:当我们drop表时,ManagedTable会同时删去data(存储在HDFS上)和metadata(存储在MySQL),而ExternalTable只会删metadata。(二)基于表的DDL操作ManagedandExternalTables(内部表和外部表)
hive>createexternaltableexternal_table(>idint,>namestring>);1、创建表(CreateTable)(二)基于表的DDL操作COMMENT,ROWFORMAT等其他建表参数
先看看官网对于ROWFORMAT的描述:DELIMITED[FIELDSTERMINATEDBYchar[ESCAPEDBYchar]][COLLECTIONITEMSTERMINATEDBYchar][MAPKEYSTERMINATEDBYchar][LINESTERMINATEDBYchar][NULLDEFINEDASchar]--(Note:AvailableinHive0.13andlater)|SERDEserde_name[WITHSERDEPROPERTIES(property_name=property_value,property_name=property_value,...)]1、创建表(CreateTable)(二)基于表的DDL操作COMMENT,ROWFORMAT等其他建表参数
hive>CREATETABLEhive_test>(idintcomment'thisisid',namestringcomment'thisisname')>comment'thisishive_test'>ROWFORMATDELIMITED>FIELDSTERMINATEDBY'\t';1、创建表(CreateTable)(二)基于表的DDL操作CreateTableAsSelect创建表(拷贝表结构及数据,并且会运行MapReduce作业)CreateTableLike只拷贝表结构1、创建表(CreateTable)(二)基于表的DDL操作下面是官网上为我们列出的语法:SHOWTABLES[INdatabase_name]['identifier_with_wildcards'];SHOWCREATETABLE([db_name.]table_name|view_name);2、展示表(ShowTable与ShowCreateTable)(二)基于表的DDL操作例:hive>showtables;hive>showtables'emp*';hive>showcreatetableemp;2、展示表(ShowTable与ShowCreateTable)(二)基于表的DDL操作下面是官网上为我们列出的语法:DESCRIBE[EXTENDED|FORMATTED]table_name[.col_name([.field_name]|[.'$elem$']|[.'$key$']|[.'$value$'])*];--(Note:Hive1.x.xand0.x.xonly.See"Hive2.0+:NewSyntax"below)3、查询表信息(DescribeTable)(二)基于表的DDL操作例:hive>descemp;hive>descformattedemp;hive>descEXTENDEDemp;3、查询表信息(DescribeTable)(二)基于表的DDL操作下面是官网为我们列出的语法:ALTERTABLEtable_nameRENAMETOnew_table_name;ALTERTABLEtable_nameSETTBLPROPERTIEStable_properties;table_properties::(property_name=property_value,property_name=property_value,...)ALTERTABLEtable_nameSETTBLPROPERTIES('comment'=new_comment);4、修改表(AlterTable)(二)基于表的DDL操作例:hive>altertablehive_testrenametonew_hive_test;hive>altertablenew_hive_testSETTBLPROPERTIES("creator"="hadoop","date"="2021-07-31");hive>altertablenew_hive_testSETTBLPROPERTIES('comment'='Thisisnew_hive_testTable');4、修改表(AlterTable)(二)基于表的DDL操作下面是官网上为我们列出的语法:TRUNCATETABLEtable_name[PARTITIONpartition_spec];partition_spec::(partition_column=partition_col_value,partition_column=partition_col_value,...)5、截断表(TruncateTable)(二)基于表的DDL操作例:hive>truncatetableemp3;注意:truncate不能删除外部表,因为外部表里的数据并不是存放在HiveMetastore中。5、截断表(TruncateTable)(二)基于数据库的DDL操作下面是官网上为我们列出的语法:DROPTABLE[IFEXISTS]table_name[PURGE];--(Note:PURGEavailableinHive0.14.0andlater)6、删除表(DropTable)(二)基于数据库的DDL操作例:hive>droptableemp3;6、删除表(DropTable)(二)基于表的DDL操作添加分区(AddPartitions)ALTERTABLEtable_nameADD[IFNOTEXISTS]PARTITIONpartition_spec[LOCATION'location'][,PARTITIONpartition_spec[LOCATION'location'],...];partition_spec::(partition_column=partition_col_value,partition_column=partition_col_value,...)7、修改分区(AlterPartition)(二)基于表的DDL操作例:创建dept表hive>createtabledept(>deptnoint,>dnamestring,>locstring>)>PARTITIONEDBY(dtstring)>ROWFORMATDELIMITED
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小小口算社团练习课后数学活动记录
- 学校食堂食品安全整改措施
- 学校课外活动安全制度
- 物业管理区域物业服务工作规范管理细则
- 物业巡楼人员安全生产岗位责任书
- 小长假前置学习|单词打卡与词汇量拓展资料
- 市政管网仿真模拟摸底题库卷含完整答案
- 电商平台数据库运维历年真题专项(附答案)
- 资料图表基础阶段达标检测卷含完整答案
- 中西餐运营管控全真模拟冲刺密卷含完整答案
- 地下管线及其他地上地下设施的保护加固措施施工方案
- GB/T 27664.3-2026无损检测仪器超声检测设备的性能与检验第3部分:组合设备
- 四川成都市兴蓉集团有限公司招聘笔试题库2026
- 双塔双索面钢箱梁斜拉桥钢箱梁安装施工实施细则
- 2026中工国际工程股份有限公司社会招聘备考题库带答案详解
- 外墙真石漆工程投标文书模板
- 2026年及未来5年市场数据中国初级塑料及合成树脂行业市场深度分析及行业发展趋势报告
- 暑假法制安全教育课件
- 2025年乌鲁木齐法院书记员招聘考试真题及答案
- DB3418∕T 029-2023 电梯维护保养工作管理规范
- 2025浙能武威能源有限公司拟录用社会招聘人员笔试历年参考题库附带答案详解
评论
0/150
提交评论