CREATE TABLE語句用于在Impala中的所需數據庫中創建新表。 創建基本表涉及命名表并定義其列和每列的數據類型。
語法
以下是CREATE TABLE語句的語法。 這里,IF NOT EXISTS是一個可選的子句。 如果使用此子句,則只有在指定數據庫中沒有具有相同名稱的現有表時,才會創建具有給定名稱的表。create table IF NOT EXISTS database_name.table_name (
column1 data_type,
column2 data_type,
column3 data_type,
………
columnN data_type
);
CREATE TABLE是指示數據庫系統創建新表的關鍵字。 表的唯一名稱或標識符位于CREATE TABLE語句之后。 (可選)您可以指定database_name和table_name。
例
以下是create table語句的示例。 在這個例子中,我們在數據庫my_db中創建了一個名為student的表。[quickstart.cloudera:21000] > CREATE TABLE IF NOT EXISTS my_db.student
(name STRING, age INT, contact INT );
執行上述語句時,將創建具有指定名稱的表,并顯示以下輸出。Query: create table student (name STRING, age INT, phone INT)
Fetched 0 row(s) in 0.48s
驗證
show Tables查詢提供Impala中當前數據庫中的表的列表。 因此,可以使用Show Tables語句驗證是否創建了表。
首先,您需要將上下文切換到所需表所在的數據庫,如下所示。
[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文件系統中創建數據庫,需要指定要創建數據庫的位置,如下所示。CREATE DATABASE IF NOT EXISTS database_name LOCATION hdfs_path;
使用Hue瀏覽器創建數據庫
打開impala查詢編輯器,并在其中鍵入CREATE Table Statement。 然后單擊執行按鈕,如下面的屏幕截圖所示。
執行查詢后,輕輕將光標移動到下拉菜單的頂部,您會發現一個刷新符號。 如果單擊刷新符號,將刷新數據庫列表,并對其應用最近所做的更改。
驗證
單擊編輯器左側標題DATABASE下的下拉菜單。 在那里你可以看到一個數據庫列表。 選擇數據庫my_db,如下所示。
在選擇數據庫my_db時,您可以看到其中的表列表,如下所示。 在這里你可以找到新創建的表學生,如下所示。