在Impala中,數(shù)據(jù)庫(kù)是一種在其命名空間中保存相關(guān)表,視圖和函數(shù)的構(gòu)造。 它在HDFS中表示為目錄樹; 它包含表分區(qū)和數(shù)據(jù)文件。 本章介紹如何在Impala中創(chuàng)建數(shù)據(jù)庫(kù)。
CREATE DATABASE語(yǔ)句用于在Impala中創(chuàng)建新數(shù)據(jù)庫(kù)。
以下是CREATE DATABASE語(yǔ)句的語(yǔ)法。
CREATE DATABASE IF NOT EXISTS database_name;
這里,IF NOT EXISTS是一個(gè)可選的子句。 如果我們使用此子句,則只有在沒有具有相同名稱的現(xiàn)有數(shù)據(jù)庫(kù)時(shí),才會(huì)創(chuàng)建具有給定名稱的數(shù)據(jù)庫(kù)。
以下是create database語(yǔ)句的示例。 在本例中,我們創(chuàng)建了一個(gè)名為my_database的數(shù)據(jù)庫(kù)。
[quickstart.cloudera:21000] > CREATE DATABASE IF NOT EXISTS my_database;
在cloudera impala-shell中執(zhí)行上述查詢時(shí),您將獲得以下輸出。
Query: create DATABASE my_database Fetched 0 row(s) in 0.21s
SHOW DATABASES查詢給出Impala中的數(shù)據(jù)庫(kù)列表,因此可以使用SHOW DATABASES語(yǔ)句驗(yàn)證是否創(chuàng)建了數(shù)據(jù)庫(kù)。 在這里,您可以在列表中觀察新創(chuàng)建的數(shù)據(jù)庫(kù)my_db。
[quickstart.cloudera:21000] > show databases; Query: show databases +-----------------------------------------------+ | name | +-----------------------------------------------+ | _impala_builtins | | default | | my_db | +-----------------------------------------------+ Fetched 3 row(s) in 0.20s [quickstart.cloudera:21000] >
為了在HDFS文件系統(tǒng)中創(chuàng)建數(shù)據(jù)庫(kù),需要指定要?jiǎng)?chuàng)建數(shù)據(jù)庫(kù)的位置。
CREATE DATABASE IF NOT EXISTS database_name LOCATION hdfs_path;
打開Impala查詢編輯器并在其中鍵入CREATE DATABASE語(yǔ)句。 此后,單擊執(zhí)行按鈕,如下面的屏幕截圖所示。
執(zhí)行查詢后,輕輕地將光標(biāo)移動(dòng)到下拉菜單的頂部,您會(huì)發(fā)現(xiàn)一個(gè)刷新符號(hào)。 如果單擊刷新符號(hào),將刷新數(shù)據(jù)庫(kù)列表,并對(duì)其應(yīng)用最近的更改。
單擊編輯器左側(cè)標(biāo)題DATABASE下的下拉框。 在那里您可以看到系統(tǒng)中的數(shù)據(jù)庫(kù)列表。 這里可以觀察新創(chuàng)建的數(shù)據(jù)庫(kù)my_db,如下所示。
如果仔細(xì)觀察,您只能看到一個(gè)數(shù)據(jù)庫(kù),即列表中的my_db以及默認(rèn)數(shù)據(jù)庫(kù)。
更多建議: