Spark SQL----CREATE VIEW

Spark SQL创建视图详解

一、描述

视图基于SQL查询的结果集。CREATE VIEW创建了一个没有物理数据的虚拟表,因此其他操作,如ALTER VIEW和DROP VIEW,只能修改元数据。

二、语法

CREATE [ OR REPLACE ] [ [ GLOBAL ] TEMPORARY ] VIEW [ IF NOT EXISTS ] view_identifier
    create_view_clauses AS query

三、参数

  • OR REPLACE
    如果已经存在相同名称的视图,它将被替换。
  • [ GLOBAL ] TEMPORARY
    临时视图是会话范围的,当会话结束时将被删除,因为它跳过了在底层元存储中持久化定义(如果有的话)。全局临时视图绑定到系统保留的临时数据库global_temp。
  • IF NOT EXISTS
    如果视图不存在,则创建该视图。
  • view_identifier
    指定视图名称,该名称可以选择性地使用数据库名称进行限定。
    语法:[ database_name. ] view_name
  • create_view_clauses
    这些子句是可选的,不区分顺序。它可以是以下格式。
    • [ ( column_name [ COMMENT column_comment ], … ) ]以指定列级注释。
    • [ COMMENT view_comment ]指定视图级注释。
    • [ TBLPROPERTIES ( property_name = property_value [ , … ] ) ]以添加元数据键值对。
  • query 从基表或其他视图构造视图的SELECT语句。

四、例子

-- Create or replace view for `experienced_employee` with comments.
CREATE OR REPLACE VIEW experienced_employee
    (ID COMMENT 'Unique identification number', Name) 
    COMMENT 'View for experienced employees'
    AS SELECT id, name FROM all_employee
        WHERE working_years > 5;

-- Create a global temporary view `subscribed_movies` if it does not exist.
CREATE GLOBAL TEMPORARY VIEW IF NOT EXISTS subscribed_movies 
    AS SELECT mo.member_id, mb.full_name, mo.movie_title
        FROM movies AS mo INNER JOIN members AS mb 
        ON mo.member_id = mb.id;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值