1. 程式人生 > >Hive學習筆記(三)與資料庫有關的HiveQL語句

Hive學習筆記(三)與資料庫有關的HiveQL語句

1.建立資料庫:

CREATE DATABASE mydb;

如果資料庫mydb已經存在的話,那麼將會丟擲一個錯誤資訊。使用如下語句可以避免這種情況下丟擲錯誤資訊:

CREATE DATABASE IF NOT EXISTS mydb; 

當我們建立資料庫mydb時,Hive會對應地建立一個目錄/user/hive/warehouse/mydb.db。值得注意的是,資料庫default建立的目錄是/user/hive/warehouse/customers,沒有default.db。
建立資料庫時增加屬性資訊:

CREATE DATABASE mydb
WITH DBPROPERTIES('creator'
= 'xiaohong', 'date' = '2018-01-10');

相應地,檢視資料庫中的屬性資訊:

DESCRIBE DATABASE EXTENDED mydb;

2.檢視Hive中所有的資料庫:

SHOW DATABASES;

如果資料庫非常多的話,可以使用正則表示式篩選出需要的資料庫名,使用LIKE和RLIKE關鍵字。
下面這個例子列舉出所有以字母h開頭,以其他字元結尾的資料庫名:

SHOW DATABASES LIKE 'h.*';

因為沒有命令讓使用者檢視當前所在的是哪個資料庫,這時我們可以使用USE…命令,並且可以重複使用。
3.修改存放路徑:

CREATE
DATABASE mydb LOCATION '/my/preferred/directory';

4.檢視資料庫具體指標資訊:

DESCRIBE DATABASE mydb;

5.刪除資料庫:

DROP DATABASE IF EXISTS mydb;

IF EXISTS是可選的,使用這個子句可以避免因資料庫mydb不存在而丟擲警告資訊。
Hive是不允許使用者刪除一個包含有表的資料庫的。使用者要麼先刪除資料庫中的表,然後再刪除資料庫;要麼在刪除命令的最後面加上關鍵字CASCADE,這樣可以使Hive自行先刪除資料庫中的表:

DROP DATABASE IF EXISTS
mydb CASCADE;

6.修改資料庫屬性資訊:

ALTER DATABASE mydb SET DBPROPERTIES ('edited-by' = 'Joe Dba');

本文為原創部落格,僅供技術學習使用。未經允許,禁止將其複製下來上傳到百度文庫等平臺。如有轉載請註明本文部落格的地址(連結)。