Hive数据库表的基本操作,必须掌握的基本功
Hive 基本操作1. 数据库操作(增、删、改、查)1.1 创建数据库create database if not exists test_001; use test_001;
说明:hive 的表存放位置模式是由 hive-site.xml 当中的一个属性指定的,默认是存放在该配置文件设置的路径下,也可在创建数据库时单独指定存储路径。 hive.metastore.warehouse.dir /user/hive/warehouse1.2 创建数据库并指定位置create database test_002 location "/user/hive/warehouse/test.db";1.3 设置数据库属性信息
数据库有一些描述性的属性信息,可以在创建时添加: create database test_003 with dbproperties("owner"="Candy_W","date"="20211101","env"="beta")
查看数据库的键值对信息 describle database extended test_003;
修改数据库的键值对信息 alter database test_003 set dbproperties("owner"="tony_W");1.4 查看数据库更多详细信息desc database extended test_003;1.5 查询数据库
与mysql查询语句是一样的语法 #查看所有数据库 show databases;1.6 删除数据库
删除一个空数据库,如果数据库下面有数据表,那么就会报错 drop database test_003;
强制删除数据库,包含数据库下面的表一起删除(请谨慎操作) drop database test_003 cascade;
2. 数据库表操作(增、删、改、查)2.1 表创建语句格式(不区分大小写)
[]里的属性为可选属性,不是必须的,但是如果有可选属性,会使 sql 语句的易读性更好,更标准与规范。
例如:[comment "字段注释信息"][comment "表的描述信息"]等,[external]属性除外 CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name( column_name data_type [comment "字段注释信息"] column_name data_type [comment "字段注释信息"] ... [comment "表的描述信息"] [PARTITIONED BY(column_name data_type, ...)] [CLUSTERED BY (column_name, column_name, ...) [SORTED BY(col_name [ASC|DESC], ...)] INTO num_buckets BUCKETS] [ROW FORMAT row_format] [STORED AS file_format] [LOCATION "指定表在 hdfs 中的存储路径"] )
2.2 建表语句参数说明
1. CREATE TABLE
创建一个指定名字的表,如果相同名字的表已存在,则抛出异常提示:表已存在,使用时可以使用IF NOT EXISTS语句来忽略这个异常。
如果创建的表名已存在,则不会再创建,也不会抛出异常提示:表已存在。否则则自动创建该表。
2. EXTERNAL
顾名思义是外部的意思,此关键字在建表语句中让使用者可以创建一个外部表,如果不加该关键字,则默认创建内部表。
外部表在创建时必须同时指定一个指向实际数据的路径(LOCATION),Hive在创建内部表时,会将数据移动到数据仓库指向的路径;
若创建外部表,仅记录数据所在的路径,不对数据的位置作任何改变。
内部表在删除后,其元数据和数据都会被一起删除。
外部表在删除后,只删除其元数据,数据不会被删除。
3. COMMENT
用于给表的各个字段或整张表的内容作解释说明的,便于他人理解其含义。
4. PARTITIONED BY
区分表是否是分区表的关键字段,依据具体字段名和类型来决定表的分区字段。
5. CLUSTERED BY
依据column_name对表进行分桶,在 Hive 中对于每一张表或分区,Hive 可以通过分桶的方式将数据以更细粒度进行数据范围划分。Hive采用对列值哈希,然后除以桶的个数求余的方式决定该条记录存放在哪个桶当中。
6. SORTED BY
指定表数据的排序字段和排序规则,是正序还是倒序排列。
7. ROW FORMAT DELIMITED FIELDS TERMINATED BY " "
指定表存储中列的分隔符,这里指定的是" ",也可以是其他分隔符。
8. STORED AS SEQUENCEFILE|TEXTFILE|RCFILE
指定表的存储格式,如果文件数据是纯文本格式,可以使用STORED AS TEXTFILE,如果数据需要压缩,则可以使用STORED AS SEQUENCEFILE。
9. LOCATION
指定 Hive 表在 hdfs 里的存储路径,一般内部表(Managed Table)不需要自定义,使用配置文件中设置的路径即可。
如果创建的是一张外部表,则需要单独指定一个路径。
2.3 Hive创建表的三种方式
1. 使用create table语句创建表
例子: create table if not exists `t_student`( id int, s_name string, s_age int) partitioned by(date string) row format delimited fields terminated by " ";
2. 使用create table ... as select...语句创建表
例子: create table sub_student as select * from t_student;
使用 create table ... as select ...语句来创建新表sub_student,此时sub_student 表的结构及表数据与 t_student 表一模一样, 相当于直接将 t_student 的表结构和表数据复制一份到 sub_student 表。
注意:
(1). select 中选取的列名(如果是 * 则表示选取所有列名)会作为新表 sub_student 的列名。
(2). 该种创建表的方式会改变表的属性以及结构,例如不能是外部表,只能是内部表,也不支持分区、分桶。
如果as select后的表是分区表,并且使用select *,则分区字段在新表里只是作为字段存在,而不是作为分区字段存在。
在使用该种方式创建时,create 与 table 之间不能加 external 关键字,即不能通过该种方式创建外部目标表,默认只支持创建内部目标表。
(3). 该种创建表的方式所创建的目标表存储格式会变成默认的格式textfile。
3.使用like语句创建表
例子: create table sub1_student like t_student;
注意:
(1). 只是将 t_student 的表结构复制给 sub1_student 表。
(2). 并不复制 t_student 表的数据给 sub1_student 表。
(3). 目标表可以创建为外部表,即: create external table sub2_student like t_student;
这款保护WIIN3的收纳包如何?瞬间卖出800多WIN3的收纳包,EVA硬壳做内衬,外面是牛津布包裹,内部是绒布里料,中间是用于固定的魔术锁扣,可牢牢绑住机器。侧面的渔网兜,可以放置一些配件,双尼龙拉头,可以两个方向开启,非常方
币圈事件摩根士丹利推出加密货币研究团队津巴布韦正探索使加密货币成为一种资产类别9月16日消息,津巴布韦财长表示津巴布韦正探索使加密货币成为一种资产类别,津巴布韦不会使用加密货币作为交易货币。研究称比特币挖矿每年产生多达
去月球团队新作影子工厂,玩家好评率达9610月1日凌晨,去月球团队新作影子工厂正式解锁发售,这是一款以叙事为导向,类别庞杂的冒险游戏。截至日前,Steam游戏平台共收到3792篇用户评测,其中好评率高达96,总体评价为好
关于桥梁检测的几种不同方法桥,是人类智慧的结晶,它给人们带来交通的便利,并给人以美感。自古以来,人们对于桥的赞美数不胜数骆宾王的云气横开八阵形,桥形遥分七星势苏轼的弯弯飞桥出,敛敛半月彀,毛泽东挥笔写下的一
想入手旧旗舰,这几款机型或是不错选择,你喜欢哪款?小米10自年初以来,小米10一直是真香机。虽然一开始的价格是3999元,但还是很划算的。现在,在小米10至尊纪念版和朋友们的努力下,它的价格已经降至3000元以上。以这个价格,我们
北通宙斯游戏手柄,让电脑秒变游戏机最畅快的游戏体验,莫过于使用游戏手柄来打游戏。依稀记得小时候,趁着爸妈不在家,叫上小伙伴在家偷偷玩红白机。虽然偶尔也会被家长发现,胖揍一顿。不过儿时的回忆轻松又美好。时光寸寸,我也
2021年东京奥运会用户研究报告奥运会丨研究报告核心摘要奥运会不仅仅是单纯的赛事,是真正意义上的全民热点事件,奥运会全民性特征显著,从18岁到60岁以上,不同年龄段人群均参与其中由于十六天的赛程受众范围广泛,奥运
资讯丨格瑞受邀参加陕暖协五周年庆典2020年9月25日,陕西省暖通空调与制冷行业协会五周年庆典公共建筑暖通空调系统燃气热水锅炉运维保养行业导则发布会暨2019年度陕西省暖通空与调制冷行业协会表彰大会在陕西宾馆拉开帷
立秋暑未消,格瑞不惧秋老虎听到秋字,想必大部分人感觉是暑去凉来,其实不然,立秋后一时暑气依然难消,而且在秋老虎的威力下,昼夜温差增大,雨水也逐渐增多,很容易造成细菌滋生并大量繁殖,免疫力低下的老人和小孩极易
暖通热能制冷学术年会给我们带来什么样的新期待?暖通热能制冷创新思路,低碳发展壹破局涅槃,行业盛典社会的发展和变革,为生活的多样性和质量带来了更新更高的感受体验。而在这样的大背景之下,行业的发展迎来了变革期中的重大机遇。大温差长
资讯丨东海证券董事长钱俊文一行莅临格瑞考察指导2021年10月13日上午,东海证券股份有限公司党委书记董事长钱俊文博士,执委会委员副总裁冯文敏先生蔡志勇先生一行莅临格瑞考察调研,格瑞董事长刘拴强博士总经理何强勇博士等公司领导热