📅  最后修改于: 2020-11-30 05:03:42             🧑  作者: Mango
视图只不过是使用关联名称存储在数据库中的Impala查询语言的语句。它是预定义的SQL查询形式的表的组成。
视图可以包含表的所有行或选定的行。可以从一个或多个表创建视图。视图允许用户-
以用户或用户类别自然或直观的方式来构造数据。
限制对数据的访问,以便用户可以看到并且(有时)完全修改他们需要的内容,而不再需要更多内容。
汇总可用于生成报告的各种表中的数据。
您可以使用Impala的Create View语句创建视图。
以下是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
以下是创建视图语句的示例。在此示例中,我们将创建一个视图作为customers表,其中包含列,名称和年龄。
[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
打开Impala Query编辑器,将上下文选择为my_db ,然后在其中键入Create View语句,然后单击execute按钮,如以下屏幕快照所示。
执行查询后,如果向下滚动,则可以在表列表中看到名为sample的视图,如下所示。