视图只不过是使用关联名称存储在数据库中的Impala查询语言的语句.它是预定义SQL查询形式的表的组合.
视图可以包含表或所选表的所有行.可以从一个或多个表创建视图.视图允许用户使用 :
以用户或用户类别自然或直观的方式构建数据.
限制对数据的访问,以便用户可以看到并且(有时)完全修改他们需要的内容而不是更多内容.
汇总各种表格中可用于生成报告的数据.
您可以使用Impala的创建视图语句.
语法
以下是create view语句的语法. IF NOT EXISTS 是一个可选条款.如果我们使用此子句,则只有在指定数据库中没有具有相同名称的现有表时,才会创建具有给定名称的表.
Create View IF NOT EXISTS view_name as Select statement
示例
例如,假设我们有一个名为table的表Impala中 my_db 数据库中的客户,包含以下数据.
ID NAME AGE ADDRESS SALARY--- --------- ----- ----------- --------1 Ramesh 32 Ahmedabad 200002 Khilan 25 Delhi 150003 Hardik 27 Bhopal 400004 Chaitali 25 Mumbai 350005 kaushik 23 Kota 300006 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
验证
您可以使用选择语句验证刚刚创建的视图的内容,如下所示.
[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 ,然后键入创建视图语句在其中单击执行按钮,如下面的屏幕截图所示.
执行查询后,如果向下滚动,可以看到在表格列表中创建的名为 sample 的视图,如下所示.