impala 创建视图

视图仅仅是存储在数据库中具有关联名称的Impala查询语言的语句。 它是以预定义的SQL查询形式的表的组合。

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

  • 以用户或用户类发现自然或直观的方式结构化数据。

  • 限制对数据的访问,以便用户可以看到和(有时)完全修改他们需要的内容,而不再更改。

  • 汇总可用于生成报告的各种表中的数据。

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

语法

以下是create view语句的语法。 IF NOT EXISTS是一个可选的子句。 如果使用此子句,则只有在指定数据库中没有具有相同名称的现有表时,才会创建具有给定名称的表。


1
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表,其中包含列,名称和年龄。

1
2
[quickstart.cloudera:21000] > CREATE VIEW IF NOT EXISTS customers_view AS
select name, age from customers;
执行上述查询时,将创建具有所需列的视图,并显示以下消息。

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

您可以使用select语句验证刚创建的视图的内容,如下所示。

1
[quickstart.cloudera:21000] > select * from customers_view;
这将产生以下结果。

1
2
3
4
5
6
7
8
9
10
11
12
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的视图,如下所示。

联系我们

邮箱 626512443@qq.com
电话 18611320371(微信)
QQ群 235681453

Copyright © 2015-2024

备案号:京ICP备15003423号-3