2.2.0Hive数据库表的操作

Hive数据库表的操作

一、       创建数据库

1.     CREATE DATABASE语句

            Hive数据库是一个命名空间或标的集合。

            语法:

CRAETE DATABASE | SCHEMA [IF NOTEXISTS] 

2.2.0Hive数据库表的操作_第1张图片

2.      创建数据库:

create database if not existssimontest1 comment 'this is test database' with dbproperties('creator'='simon','date'='2017-10-25');

2.2.0Hive数据库表的操作_第2张图片

3.      查看是否创建成功:

show databases;

2.2.0Hive数据库表的操作_第3张图片

二、       查看数据库信息

            1.      查看数据库的描述信息和文件目录位置路径信息

describedatabase simontest1;

2.2.0Hive数据库表的操作_第4张图片

            2.      查看数据库的描述信息和文件目录位置路径信息(加上数据库键值对的属性信息)。

describedatabase extended simontest1;

三、       删除数据库

            1.    普通删除数据库

dropdatabase if exists simontest1;

                查看是否删除成功:

2.2.0Hive数据库表的操作_第5张图片

            2.    级联删除数据库。

dropdatabase if exists simontest1 cascade;

                当数据库还有表时,先级联删除表后再删除数据库,默认是restrict。

                    创建两个database:

2.2.0Hive数据库表的操作_第6张图片

                级联删除simontest2:

dropdatabase if exists simontest2 cascade;

                查看是否删除成功:

2.2.0Hive数据库表的操作_第7张图片

四、      修改数据库

                修改数据库只能修改数据库的键值对属性值。数据库名和数据库所在的目录位置不能修改。

alter database simontest1 setdmproperties('edited-by'='guojiawei');

               创建时,没有创建键值对属性值,暂时不能修改。

五、       创建表

            1.创建表

create table if not existssimontest1.table1(name string comment 'mingzi',salary float comment 'gongzi')comment 'zhe shi yi zhang ce shi biao'  tblproperties('creator'='simon','created_at'='2017-10-26 15:56:33');

  

        --其中tblproperties作用:按照键值对的格式为表增加额外的文档说明,也可用来表示数据库连接的必要的元数据信息

        --hive会自动增加二个表属性:last_modified_by(最后修改表的用户名),last_modified_time(最后一次修改的时间)

            

        2.查看和列举表的tblproperties属性信息:

 show tblproperties simontest1.table1;

2.2.0Hive数据库表的操作_第8张图片

            3.     使用like创建表。

                    拷贝表结构,无需拷贝数据

create table if not exists simontest1.table2 like simontest1.table1;

2.2.0Hive数据库表的操作_第9张图片

4.      查看表的详细信息

            1)     结构信息extended

describe extended simontest1.table1;

2.2.0Hive数据库表的操作_第10张图片

            2)     更多信息formatted

describe formatted simontest1.table1;

2.2.0Hive数据库表的操作_第11张图片

六、      创建外部表

            1.   应用场景:

                如果数据被多个工具(如pig等)共享,可以创建外部表。

            2.   特点:

                删除表时,表的元数据会被删除掉,但是数据不会被删除。

            3.   创建语句:

create external table if not exists simontest1.table3(name string comment'mingzi',salary float comment 'gongzi') comment 'zhe shi yi zhang ce shibiao'  tblproperties('creator'='simon','created_at'='2017-10-26 15:56:33');

七、      创建分区表

            1.   建表语句

create table if not existssimontest1.table4(name string comment 'mingzi',salary float comment 'gongzi')comment 'zhe shi yi zhang ce shi biao'  partitioned by(countrystring,state string) STORED AS rcfile tblproperties('creator'='simon','created_at'='2017-10-2616:37:33');

            2.   查看表中所有分区

show partitions simontest1.table4;

            3.   查看表中特定分区

show  partitions  simontest1.table4  partition(country=’US’);

八、       删除表

droptable if exists simontest1.table4;

2.2.0Hive数据库表的操作_第12张图片

 


你可能感兴趣的:(Hadoop)