hive 數據庫操作
- 創建數據庫
create database if not exists myhive;
# 使用數據庫
use myhive;
- 說明:hive的表存放位置模式是由hive-site.xml當中的一個屬性指定的
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
- 創建數據庫並指定hdfs存儲位置
create database myhive2 location '/myhive2';
修改數據庫
- 可以使用alter database 命令來修改數據庫的一些屬性。但是數據庫的元數據信息是不可更改的,包括數據庫的名稱以及數據庫所在的位置
- 修改數據庫的創建日期
alter database myhive2 set dbproperties('createtime'='20880611');
查看數據庫詳細信息
查看數據庫詳細信息
desc database myhive2;
查看數據庫更多詳細信息
desc database extended myhive2;
刪除數據庫
- 刪除一個空數據庫,如果數據庫下面有數據表,那麼就會報錯
drop database myhive2;
- 強制刪除數據庫,包含數據庫下面的表一起刪除
- database myhive cascade; 不要執行(危險動作
hive 表操作
創建數據庫表語法
CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name
[(col_name data_type [COMMENT col_comment], ...)]
[COMMENT table_comment]
[PARTITIONED BY (col_name data_type [COMMENT col_comment], ...)]
[CLUSTERED BY (col_name, col_name, ...)
[SORTED BY (col_name [ASC|DESC], ...)] INTO num_buckets BUCKETS]
[ROW FORMAT row_format]
[STORED AS file_format]
[LOCATION hdfs_path]
hive建表初體驗
use myhive;
create table stu(id int,name string);
insert into stu values (1,"zhangsan");
select * from stu;
Hive建表時候的字段類型
見本博客另一篇文章 傳送門:
https://www.xqdbd.top/index.php/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/94.html
創建表並指定字段之間的分隔符
create table if not exists stu2(id int ,name string) row format delimited fields terminated by '\t' stored as textfile location '/user/stu2';
insert into stu2 values (1,"zhangsan");
insert into stu2 values (2,"lisi");
insert into stu2 values (3,"wangwu");
根據查詢結果創建表
create table stu3 as select * from stu2;
根據已經存在的表結構創建表
create table stu4 like stu2;
查詢表的類型
desc formatted stu2;
本文來自:大蘿蔔博客網