impala CREATE TABLE語(yǔ)句

2018-01-03 16:45 更新

CREATE TABLE語(yǔ)句用于在Impala中的所需數(shù)據(jù)庫(kù)中創(chuàng)建新表。 創(chuàng)建基本表涉及命名表并定義其列和每列的數(shù)據(jù)類(lèi)型。

語(yǔ)法

以下是CREATE TABLE語(yǔ)句的語(yǔ)法。 這里,IF NOT EXISTS是一個(gè)可選的子句。 如果使用此子句,則只有在指定數(shù)據(jù)庫(kù)中沒(méi)有具有相同名稱(chēng)的現(xiàn)有表時(shí),才會(huì)創(chuàng)建具有給定名稱(chēng)的表。

create table IF NOT EXISTS database_name.table_name (
   column1 data_type,
   column2 data_type,
   column3 data_type,
   ………
   columnN data_type
);

CREATE TABLE是指示數(shù)據(jù)庫(kù)系統(tǒng)創(chuàng)建新表的關(guān)鍵字。 表的唯一名稱(chēng)或標(biāo)識(shí)符位于CREATE TABLE語(yǔ)句之后。 (可選)您可以指定database_name和table_name。

以下是create table語(yǔ)句的示例。 在這個(gè)例子中,我們?cè)跀?shù)據(jù)庫(kù)my_db中創(chuàng)建了一個(gè)名為student的表。

[quickstart.cloudera:21000] > CREATE TABLE IF NOT EXISTS my_db.student
   (name STRING, age INT, contact INT );

執(zhí)行上述語(yǔ)句時(shí),將創(chuàng)建具有指定名稱(chēng)的表,并顯示以下輸出。

Query: create table student (name STRING, age INT, phone INT) 

Fetched 0 row(s) in 0.48s

驗(yàn)證

show Tables查詢提供Impala中當(dāng)前數(shù)據(jù)庫(kù)中的表的列表。 因此,可以使用Show Tables語(yǔ)句驗(yàn)證是否創(chuàng)建了表。
首先,您需要將上下文切換到所需表所在的數(shù)據(jù)庫(kù),如下所示。

[quickstart.cloudera:21000] > use my_db; 
Query: use my_db

然后,如果您使用show tables查詢獲取表的列表,則可以在其中觀察名為student的表,如下所示。

[quickstart.cloudera:21000] > show tables;

Query: show tables 
+-----------+ 
| name      | 
+-----------+ 
| student   | 
+-----------+ 
Fetched 1 row(s) in 0.10s 

HDFS路徑

為了在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;

使用Hue瀏覽器創(chuàng)建數(shù)據(jù)庫(kù)

打開(kāi)impala查詢編輯器,并在其中鍵入CREATE Table Statement。 然后單擊執(zhí)行按鈕,如下面的屏幕截圖所示。

創(chuàng)建數(shù)據(jù)庫(kù)

執(zhí)行查詢后,輕輕將光標(biāo)移動(dòng)到下拉菜單的頂部,您會(huì)發(fā)現(xiàn)一個(gè)刷新符號(hào)。 如果單擊刷新符號(hào),將刷新數(shù)據(jù)庫(kù)列表,并對(duì)其應(yīng)用最近所做的更改。

創(chuàng)建數(shù)據(jù)庫(kù)下拉

驗(yàn)證

單擊編輯器左側(cè)標(biāo)題DATABASE下的下拉菜單。 在那里你可以看到一個(gè)數(shù)據(jù)庫(kù)列表。 選擇數(shù)據(jù)庫(kù)my_db,如下所示。

創(chuàng)建數(shù)據(jù)庫(kù)驗(yàn)證

在選擇數(shù)據(jù)庫(kù)my_db時(shí),您可以看到其中的表列表,如下所示。 在這里你可以找到新創(chuàng)建的表學(xué)生,如下所示。

創(chuàng)建數(shù)據(jù)庫(kù)我的數(shù)據(jù)庫(kù)
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)