Hive中的数据定义(DDL)__Database(Schema)

Hive中的数据库

创建数据库的语句:

CREATE (DATABASE|SCHEMA) [IF NOT EXISTS] database_name
  [COMMENT database_comment]
  [LOCATION hdfs_path]
  [WITH DBPROPERTIES (property_name=property_value, ...)];

说明:
1. 在所有的数据库的相关的命令里面DataBase都可以被替换成Schema
2. COMMENT,为database增加一个描述信息
3. Location,默认的情况下,hive数据库中的表的数据存储在hive.metastore.warehouse.dir 指定的目录下
其默认值为:
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
<description>location of default database for the warehouse</description>
</property>

4. with dbproperties,用于为数据库增加一些和其相关的键值对属性信息,例如创建的时间,作者等

案例

hive> create database db01
    > comment 'this is the first hive db'
    > location '/db/01'
    > with dbproperties('actuor'='jyw','date'='2017-6-11');

查看数据库信息的语句

DESCRIBE DATABASE [EXTENDED] database_name

说明
EXTENDED,会显示在创建数据库时指定的dbproperties信息,不使用则不包含

案例

hive> describe database db01;
db01    this is the first hive db       hdfs://bigdata02:9000/db/01     hadoop  USER

hive> describe database extended db01;
db01    this is the first hive db       hdfs://bigdata02:9000/db/01     hadoop  USER    {actuor=jyw, date=2017-6-11}

删除数据库的语句

DROP (DATABASE|SCHEMA) [IF EXISTS] database_name [RESTRICT|CASCADE];

说明:
CASCADE:默认的情况下,hive不允许删除一个含有表的数据库,用户在删除数据库的时候,要么先删除数据库中所有的表,然后删除数据库;要么在删除的命令后面加上CASCADE,这样hive会自行先删除数据库中所有的表。如果使用的是RESTRICT那么就跟默认值是一样的,就是必须先手动删除数据库中的所有的表,然后才能删除数据库。

修改数据的语句

ALTER (DATABASE|SCHEMA) database_name SET DBPROPERTIES (property_name=property_value, ...);
ALTER (DATABASE|SCHEMA) database_name SET OWNER [USER|ROLE] user_or_role;

说明:
hive只支持对dbproperties和owner的更改,不支持对数据库其它元数据信息的修改

案例

hive> alter database db01 set dbproperties ('user'='hupu','date'='2017-06-11 12:27:00');
hive> describe database extended db01; 
db01    this is the first hive db       hdfs://bigdata02:9000/db/01     hadoop  USER    {actuor=jyw, date=2017-06-11 12:27:00, user=hupu}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值