HiveQL資料定義之資料庫

2021-08-27 08:21:19 字數 1477 閱讀 5879

資料定義語言部分,用於建立、修改和刪除資料庫、表、檢視、函式和索引。

create database dba;

如果資料庫dba已經存在的話,將會丟擲乙個錯誤資訊。避免出現這種情況可以使用

create database if not exists dba;

show databases;

如果資料庫比較多的話,可以使用正規表示式來進行匹配所需要的資料庫名。

show databases like 'h.*';

含義為列出以字母h開頭,其他字元結尾的資料庫名。

hive會為每乙個資料庫建立乙個目錄。資料庫的檔案目錄名是以 .db 結尾的。

資料庫所在的目錄位於屬性 hive.metastore.warehouse.dir 所指定的頂層目錄之後。

使用預設配置的話,頂層目錄也就是/user/hive/warehouse。

當我們建立資料庫dba時,hive將會對應的建立乙個目錄,如下所示:

/user/hive/warehouse/dba.db。

可以通過如下命令來修改這個預設的位置:

create database dba location '/my/preferred/directory';

為資料庫增加乙個描述資訊的命令為:

create database dba comment 'this is my dba';

可以使用describe database命令檢視該資訊,並且這個命令還可以顯示出資料庫所在的檔案目錄路徑。

describe database dba;

還可以為資料庫增加一些和其相關的鍵-值對屬性資訊。6、

create database dba with dbproperties('creator'='zhaozhen','data'='2018-09-06');

可以通過下面這個命令來顯示:

describe database extenden dba;

use命令用於將某個資料庫設定為使用者當前的工作資料庫,但是沒有乙個命令可以讓使用者檢視當前所在是哪個資料庫,幸運的是,可以重複使用use命令。

use dba;

在hive v0.8.0版本以及之後的版本支援可以通過設定乙個屬性值來在提示符裡面顯示當前所在的資料庫。

set hive.cli.print.current.db=true;

命令:drop database if exists dba;

預設情況下,hive是不允許使用者刪除乙個包含有表的資料庫的,要麼先刪除資料庫表,再刪除資料庫;

要麼在刪除命令的後面加上關鍵字cascade,使hive自行先刪除資料庫中的表。

drop database if exists dba cascade;

修改資料庫只能修改描述這個資料庫的屬性資訊。資料庫的其他元資料資訊都是不可更改的,包括資料庫名和資料庫所在的目錄位置。

alter database dba set dbproperties('edited-by'='zhao');

HiveQL 資料定義

一.資料庫部分 1.建立資料庫 create database dw 或者create database ifnot exists dw create database dw comment this is a test database create database dw location my...

hiveQL資料定義

hive不支援行級插入操作 更新操作 刪除操作,hive也不支援事物。1,建立資料庫 create database show databases use database hive 會為每個資料庫建立乙個目錄,資料庫中的表將會以這個資料庫目錄的子目錄形式儲存。有乙個例外就是default資料庫中的...

HiveQL 資料定義

掌握應用hiveql建立資料庫 掌握應用hiveql建立表 掌握應用hiveql建立檢視 硬體環境要求 pc機至少4g記憶體,硬碟至少預留50g空間。軟體要求 已安裝並啟動hadoop 已安裝並啟動hive 應用hiveql建立資料庫 應用hiveql建立表 應用hiveql建立檢視 第5章 hiv...