Hive 删除包含表的数据库

当删除一个hive 数据库时,若该 数据库时包含表,则会提示不能删除。

hive> drop  database test;
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. 
InvalidOperationException(message:Database test is not empty. One or more tables exist.)

此时,用户要么先删除数据库中的表,要么再删除数据库;要么在删除命令的最后面加上关键字CASCADE ,这样可以使hive自行先删除数据库中的表;

hive> DROP DATABASE TEST CASCADE;
OK
Time taken: 2.499 seconds
hive> show databases;
OK
default
ts
Time taken: 0.025 seconds, Fetched: 2 row(s)

 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
① 创建数据库hive; ② 在hive数据库中,创建usr,含三个属性id,name,age ③ 在hive数据库中,创建usr,含三个属性id,name,age,存储路径为“/usr/local/hive/warehouse/hive/usr” ④ 在hive数据库中,创建外部usr,含三个属性id,name,age,可以读取路径“/usr/local/data”下以“,”分隔的数据。 ⑤ 在hive数据库中,创建分区usr,含三个属性id,name,age,还存在分区字段sex。 ⑥ 创建视图little_usr,只包含usr中id,age属性 ⑦ 删除数据库hive ⑧ 删除usr,如果是内部,元数据和实际数据都会被删除;如果是外部,只删除数据,不删除实际数据 ⑨ 删除视图little_usr ⑩ 为hive数据库设置dbproperties键值对属性值来描述数据库属性信息 ⑪ 重命名usr为user ⑫ 为usr增加新分区 ⑬ 把usr中列名name修改为username,并把该列置于age列后 ⑭ 修改little_usr视图元数据中的tblproperties属性信息 ⑮ 查看Hive包含的所有数据库 ⑯ 查看Hive中以h开头的所有数据库 ⑰ 查看数据库hive中所有和视图 ⑱ 查看数据库hive中以u开头的所有和视图 ⑲ 查看数据库hive的基本信息,包括数据库中文件位置信息等 ⑳ 查看数据库hive的详细信息,包括数据库的基本信息及属性信息等 21 把目录’/usr/local/data‘下的数据文件中的数据装载进usr并覆盖原有数据
06-10
好的,以下是对应的Hive命令: 1. 创建数据库hive ```sql CREATE DATABASE hive; ``` 2. 在hive数据库中,创建usr,含三个属性id,name,age ```sql USE hive; CREATE TABLE usr ( id INT, name STRING, age INT ); ``` 3. 在hive数据库中,创建usr,含三个属性id,name,age,存储路径为“/usr/local/hive/warehouse/hive/usr” ```sql CREATE TABLE usr ( id INT, name STRING, age INT ) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LOCATION '/usr/local/hive/warehouse/hive/usr'; ``` 4. 在hive数据库中,创建外部usr,含三个属性id,name,age,可以读取路径“/usr/local/data”下以“,”分隔的数据。 ```sql CREATE EXTERNAL TABLE usr ( id INT, name STRING, age INT ) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LOCATION '/usr/local/data'; ``` 5. 在hive数据库中,创建分区usr,含三个属性id,name,age,还存在分区字段sex。 ```sql CREATE TABLE usr ( id INT, name STRING, age INT ) PARTITIONED BY (sex STRING); ``` 6. 创建视图little_usr,只包含usr中id,age属性 ```sql CREATE VIEW little_usr AS SELECT id, age FROM usr; ``` 7. 删除数据库hive ```sql DROP DATABASE hive; ``` 8. 删除usr,如果是内部,元数据和实际数据都会被删除;如果是外部,只删除数据,不删除实际数据 ```sql DROP TABLE usr; ``` 9. 删除视图little_usr ```sql DROP VIEW little_usr; ``` 10. 为hive数据库设置dbproperties键值对属性值来描述数据库属性信息 ```sql ALTER DATABASE hive SET DBPROPERTIES ('description' = 'This is a sample database for Hive'); ``` 11. 重命名usr为user ```sql ALTER TABLE usr RENAME TO user; ``` 12. 为usr增加新分区 ```sql ALTER TABLE usr ADD PARTITION (sex='male') LOCATION '/path/to/male/data'; ``` 13. 把usr中列名name修改为username,并把该列置于age列后 ```sql ALTER TABLE usr CHANGE name username STRING AFTER age; ``` 14. 修改little_usr视图元数据中的tblproperties属性信息 ```sql ALTER VIEW little_usr SET TBLPROPERTIES ('comment' = 'This is a view for user table'); ``` 15. 查看Hive包含的所有数据库 ```sql SHOW DATABASES; ``` 16. 查看Hive中以h开头的所有数据库 ```sql SHOW DATABASES LIKE 'h%'; ``` 17. 查看数据库hive中所有和视图 ```sql SHOW TABLES; ``` 18. 查看数据库hive中以u开头的所有和视图 ```sql SHOW TABLES LIKE 'u%'; ``` 19. 查看数据库hive的基本信息,包括数据库中文件位置信息等 ```sql DESCRIBE DATABASE hive; ``` 20. 查看数据库hive的详细信息,包括数据库的基本信息及属性信息等 ```sql DESCRIBE DATABASE EXTENDED hive; ``` 21. 把目录’/usr/local/data‘下的数据文件中的数据装载进usr并覆盖原有数据 ```sql LOAD DATA LOCAL INPATH '/usr/local/data' OVERWRITE INTO TABLE usr; ``` 以上是对应的Hive命令,可以根据实际需求进行相应的操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值