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
以下是
创建视图语句的示例。在此示例中,我们将创建一个视图为
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
使用 Hue 创建视图
打开 Impala 查询编辑器,选择上下文为
my_db,并在其中键入
Create View 语句,然后单击执行按钮,如下面的屏幕截图所示。
执行查询后,如果向下滚动,您可以看到在表列表中创建的名为
sample的
view,如下所示。
