在Data Lake Analytics中使用视图 1
在Data Lake Analytics中使用视图
1. 概述
在Data Lake Analytics(以下简称DLA)中使用视图(VIEW)功能,可以大大简化对于重复SQL,特别是较为复杂的SQL语句的编写和维护。目前DLA中还不支持SQL视图的物化。在使用DLA进行跨多个数据源的联合分析场景中,使用视图,尤其能够方便后续对于包含重复SQL片段的SQL查询语句的编写和维护。
在介绍视图的功能之前,需要注意两个概念:
1)在DLA中,每个SCHEMA下的表必须属于同一类数据源(通过CATALOG属性指定),也必须属于同一个LOCATION约束的数据源。
- 对于OSS,SCHEMA中LOCATION指向一个目录,后续在该SCHEMA下的表所指向的LOCATION必须从属于该SCHEMA的LOCATION目录;
- 对于其他实例型数据源(比如Table Store、RDS等),SCHEMA中LOCATION指向一个实例URL,后续在该SCHEMA下的表必须也属于该实例。
2)和表类似,视图必须属于一个SCHEMA,在SQL中引用视图时,可以通过“schema_name.view_name”来进行引用,如果当前数据库连接的schema是视图所属的SCHEMA时,在SQL中可以直接用视图名进行引用。
2. 创建视图
语法:
CREATE [OR REPLACE]
VIEW view_name [(column_list)]
AS select_statement
例如:
CREATE OR REPLACE
VIEW `basic_test`.`test_view_1_oss`
AS
SELECT *
FROM nation
ORDER BY n_nationkey
通过CREATE语句创建视图。如果指定名称的视图之前在系统中已经存在,则会报错提示视图已经存在。通过CREATE OR REPLACE方式,如果指定名称的视图之前在系统中已经存在,则会进行更新,用新的视图定义替换之前的视图定义。
3. 查询视图元数据
视图元数据相关信息查询的方式有很多种,下面一一列举:
- 查询视图的创建语句:
语法:
SHOW CREATE (TABLE | VIEW) view_name
例如:
SHOW CREATE VIEW basic_test.test_view_1_oss;+-----------------+-----------------------------------------------------------------------------------------+----------------------+----------------------+
| View | Create View | character_set_client | collation_connection |
+-----------------+-----------------------------------------------------------------------------------------+----------------------+----------------------+
| test_view_1_oss | CREATE VIEW `basic_test`.`test_view_1_oss` AS SELECT *
FROM nation
ORDER BY n_nationkey | utf8 | utf8_general_ci |
+-----------------+-----------------------------------------------------------------------------------------+----------------------+----------------------+
- 查询information_schema.views元数据:
SELECT * FROM information_schema.views WHERE table_schema = 'basic_test';+---------------+--------------+-----------------+-------------------------------------------+--------------+--------------+---------------------+---------------+----------------------+----------------------+
| TABLE_CATALOG | TABLE_SCHEMA | TABLE_NAME | VIEW_DEFINITION | CHECK_OPTION | IS_UPDATABLE | DEFINER | SECURITY_TYPE | CHARACTER_SET_CLIENT | COLLATION_CONNECTION |
+---------------+--------------+-----------------+-------------------------------------------+--------------+--------------+---------------------+---------------+----------------------+----------------------+
| def | basic_test | test_view_1_oss | SELECT *
FROM nation
ORDER BY n_nationkey | NONE | YES | mysql.sys@localhost | INVOKER | utf8 | utf8_general_ci |
| def | basic_test | test_view_2_oss | SELECT *
FROM nation | NONE | YES | mysql.sys@localhost | INVOKER | utf8 | utf8_general_ci |
+---------------+--------------+-----------------+-------------------------------------------+--------------+--------------+---------------------+---------------+----------------------+----------------------+
目前,DLA中不保存视图定义的详细列定义元数据信息。
4. 嵌套视图
DLA支持视图的嵌套,即VIEW 1定义指向VIEW 2,VIEW 2定义指向VIEW 3。
例如:
CREATE OR REPLACE VIEW view_1 (col1, col2, col3) AS
SELECT *
FROM tpch_test.nation
ORDER BY n_nationkey;CREATE OR REPLACE VIEW view_2 (col_1, col_2) AS
SELECT col1, col2 FROM view_1 a;
注意:
- 在定义VIEW时,VIEW中指向的SQL语句中,建议对引用的table都加上所属的schema名,特别是在跨schema的场景下(schema1中的定义view,指向的SQL语句中目标表有其他schema的table或view)。
5. 删除视图
语法:
DROP VIEW [IF EXISTS] view_name
原文链接
本文为云栖社区原创内容,未经允许不得转载。
在Data Lake Analytics中使用视图 1相关推荐
- 在Data Lake Analytics中使用视图
在Data Lake Analytics中使用视图 1. 概述 在Data Lake Analytics(以下简称DLA)中使用视图(VIEW)功能,可以大大简化对于重复SQL,特别是较为复杂的SQL ...
- 如何在Data Lake Analytics中使用临时表
2019独角兽企业重金招聘Python工程师标准>>> 前言 Data Lake Analytics (后文简称DLA)是阿里云重磅推出的一款用于大数据分析的产品,可以对存储在OSS ...
- Data Lake Analytics中OSS LOCATION的使用说明
2019独角兽企业重金招聘Python工程师标准>>> 前言 Data Lake Analytic(后文简称 DLA)可以帮助用户通过标准的SQL语句直接对存储在OSS.TableS ...
- Data Lake Analytics: 基于OSS文件自动推断建表
背景 用户在使用Data Lake Analytics对OSS上的数据建表时,需要预先知道目标文件的格式和schema信息.当目标文件中每条记录对应的列数很多时,需要一个个手动匹配,很不方便. 在新版 ...
- 【免费公测中】为数据赋予超能力,阿里云重磅推出Serverless数据分析引擎-Data Lake Analytics
摘要: 近日,阿里云重磅推出Serverless数据分析引擎-Data Lake Analytics,Data Lake Analytics,帮助更多不具备分析能力的存储服务,赋予其分析的能力. 近日 ...
- 教程:使用Data Lake Analytics + OSS分析CSV格式的TPC-H数据集
0. Data Lake Analytics(DLA)简介 关于Data Lake的概念,更多阅读可以参考: https://en.wikipedia.org/wiki/Data_lake 以及AWS ...
- Data Lake Analytics + OSS数据文件格式处理大全
前言 Data Lake Analytics是Serverless化的云上交互式查询分析服务.用户可以使用标准的SQL语句,对存储在OSS.TableStore上的数据无需移动,直接进行查询分析. 目 ...
- 如何在阿里云上使用Data Lake Analytics分析Table Store数据
0. Data Lake Analytics(简称DLA)介绍 数据湖(Data Lake)是时下热门的概念,更多阅读可以参考: https://en.wikipedia.org/wiki/Data_ ...
- Data Lake Analytics的Geospatial分析函数
2019独角兽企业重金招聘Python工程师标准>>> 0. 简介 为满足部分客户在云上做Geometry数据的分析需求,阿里云Data Lake Analytics(以下简称:DL ...
最新文章
- Apache的服务端包含--SSI
- 我们单位里新来的应届毕业生(转贴)
- 机械转嵌入式还是it?学嵌入式好还是java好?
- 第六十六篇、OC_Sqlite数据库操作
- html标签slot,HTML slot 标签
- 映射技术之储存器映射
- Comparable和Comparator区别是什么?差点吃屎
- 要用计算机才能算的题,计算机基础题精选,要考90分以上的同学进考场前必看 -电脑资料...
- 杭电acm2034 人见人爱A-B
- [UWP]涨姿势UWP源码——IsolatedStorage
- abb机器人gsd文件_ABB机器人控制器死机故障维修
- Python截屏工具,识别屏幕中的二维码
- 金融期货具体的开户条件
- 常见模拟电路设计 四 :比较器详讲
- 块截断编码图像压缩技术
- 网站如何调用第三方支付接口
- 日记:2019新年计划,每日计划的思维导图
- MCDownloader(iOS下载器)说明书
- silverlight beet - 动态设置Clip
- 2021极术通讯-使用Arm-2D在Cortex-M芯片中实现图形界面
热门文章
- 家用计算机来源,美计算机专家称BBS才是博客真正起源
- java 判断范围_java判断一个点是否在一个围栏范围内
- python怎么控制速度_如何控制python的ThreadPoolExecutor的吞吐量速度?
- strace命令_在软件部署中使用 strace 进行调试
- 计算机科学计算第二版第四章,大连理工大学 计算机科学计算 第四章2.pdf
- 李善兰如何用汉字写公式 | 晚清高数课本长什么样?
- 12名高校教师被降级!打破职称终身制,山东在行动!
- 比欧拉公式更美的公式!
- 中国数学会副理事长田刚委员:建议从四个方面加强教师队伍建设
- NSA-LDL论文修改建议20211026BRT