Impala - 建立檢視



檢視只不過是儲存在資料庫中並關聯了一個名稱的 Impala 查詢語言語句。它是以預定義的 SQL 查詢形式組成的表。

檢視可以包含表的全部行或選定的行。一個檢視可以從一個或多個表建立。檢視允許使用者 -

  • 以使用者或使用者類別認為自然或直觀的方式來結構化資料。

  • 限制對資料的訪問,以便使用者只能看到(有時)修改他們需要的內容,而不能更多。

  • 彙總來自各個表的的資料,這些資料可用於生成報表。

您可以使用 Impala 的 **Create View** 語句建立檢視。

語法

以下是建立檢視語句的語法。**IF NOT EXISTS** 是一個可選子句。如果我們使用此子句,則僅當指定資料庫中不存在與給定名稱相同的現有表時,才會建立具有給定名稱的表。

Create View IF NOT EXISTS view_name as Select statement

示例

例如,假設我們在 Impala 的 **my_db** 資料庫中有一個名為 **customers** 的表,其中包含以下資料。

ID  NAME      AGE   ADDRESS     SALARY
--- --------- ----- ----------- --------
1   Ramesh    32    Ahmedabad   20000
2   Khilan    25    Delhi       15000
3   Hardik    27    Bhopal      40000
4   Chaitali  25    Mumbai      35000
5   kaushik   23    Kota        30000
6   Komal     22    MP          32000

以下是 **Create View 語句** 的示例。在此示例中,我們正在建立一個名為 **customers** 表的檢視,其中包含 name 和 age 列。

[quickstart.cloudera:21000] > CREATE VIEW IF NOT EXISTS customers_view AS 
select name, age from customers;

執行上述查詢後,將建立具有所需列的檢視,並顯示以下訊息。

Query: create VIEW IF NOT EXISTS sample AS select * from customers 
Fetched 0 row(s) in 0.33s

驗證

您可以使用如下所示的 **select** 語句驗證剛剛建立的檢視的內容。

[quickstart.cloudera:21000] > select * from customers_view;

這將產生以下結果。

Query: select * from customers_view 
+----------+-----+ 
| name     | age | 
+----------+-----+ 
| Komal    | 22  | 
| Khilan   | 25  | 
| Ramesh   | 32  | 
| Hardik   | 27  | 
| Chaitali | 25  | 
| kaushik  | 23  | 
+----------+-----+ 
Fetched 6 row(s) in 4.80s

使用 Hue 建立檢視

開啟 Impala 查詢編輯器,將上下文選擇為 **my_db**,並在其中鍵入 **Create View** 語句,然後單擊執行按鈕,如下面的螢幕截圖所示。

Creating View

執行查詢後,如果向下滾動,您可以在表列表中看到建立的名為 **sample** 的 **檢視**,如下所示。

Creating a View and Sample
廣告

© . All rights reserved.