HIVE的使用,
hive笔记
数据库的创建和删除
CREATE DATABASE|SCHEMA IF NOT EXISTS <database name>;
DROP DATABASE IF EXISTS <database name>;
#-----------------------------------------
创建时添加db文件保存在HDFS的路径
CREATE (DATABASE|SCHEMA) [IF NOT EXISTS] database_name
[COMMENT database_comment]
[LOCATION hdfs_path]
[WITH DBPROPERTIES (property_name=property_value, ...)];
CREATE DATABASE IF NOT EXISTS lxw1234
COMMENT 'lxw的大数据田地-lxw1234.com'
localtion 'hdfs://namenode/user/lxw1234/lxw1234.db/';
#使用HDFS超级用户创建数据库后,该数据库在HDFS上的存储路径的属主为超级用户,如果该数据库是为某个或者某些用户使用的,则需要修改路径属主,或者在Hive中进行授权
修改数据库属性
修改数据库属性:
ALTER (DATABASE|SCHEMA) database_name
SET DBPROPERTIES (property_name=property_value, …);
修改数据库属主:
ALTER (DATABASE|SCHEMA) database_name
SET OWNER [USER|ROLE] user_or_role;
删除数据库
#默认情况下,Hive不允许删除一个里面有表存在的数据库,如果想删除数据库,要么先将数据库中的表全部删除,要么可以使用CASCADE关键字,使用该关键字后,Hive会自己将数据库下的表全部删除。RESTRICT关键字就是默认情况,即如果有表存在,则不允许删除数据库。
DROP (DATABASE|SCHEMA) [IF EXISTS] database_name [RESTRICT|CASCADE];
查看分区信息
show partitions table_name
查看hdfs文件信息
dfs -ls /user/hive/warehouse/table02;
查看表的结构
desc formatted table_name;
desc table_name;
清除表中的数据
# delect:用于删除特定行条件,你可以从给定表中删除所有的行
# TRUNCATE:truncate用于删除所有的行,这个行为在Hive元存储删除数据是不可逆的
# DROP:删除hive中的表
# truncate 不能删除外部表!因为外部表里的数据并不是存放在Hive中的warehouse中
truncate table table_name;
# 另外一种清除表中数据的方法
insert overwrite table table_name select * from table_name where 1=0;
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。