Impala 简明教程

Impala - Create View

视图不过是 Impala 查询语言的语句,它与相关名称一起存储在数据库中。它是以预定义 SQL 查询的形式对表格的构成。

视图可以包含表格的所有行或选定的行。一个视图可以从一个或多个表格创建。视图允许用户 -

  1. 以用户或用户类别觉得自然或直观的方式构建结构化数据。

  2. 限制对数据的访问,以便用户可以看到(有时可以修改)他们需要的恰好内容。

  3. 总结可以用来生成报告的不同表中的数据。

你可以使用 Impala 的 Create View 语句创建视图。

Syntax

以下是创建视图语句的语法。 IF NOT EXISTS 是一个可选子句。如果我们使用这个子句,只有当指定数据库中没有名为相同的现有表格时,才创建名为表格。

Create View IF NOT EXISTS view_name as Select statement

Example

例如,假设我们在 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 Statement 的示例。在此示例中,我们正在创建一个视图作为 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

Verification

你可以使用 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

Creating a View using Hue

打开 Impala Query 编辑器,选择 my_db 作为上下文,并在其中输入 Create View 语句,然后单击 execute 按钮,如下面的截图所示。

creating view

执行查询后,如果你向下滚动,你可以在表的列表中看到名为 sampleview ,如下所示。

creating view sample