Hive表DDL操作(二)第1关:Create/Drop/Alter 视图

这篇具有很好参考价值的文章主要介绍了Hive表DDL操作(二)第1关:Create/Drop/Alter 视图。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

相关知识

为了完成本关任务,你需要掌握: 1.如何创建视图; 2.如何修改视图; 3.如何删除视图。

Create 创建视图

Hive支持RDBMS视图的所有功能,包括创建、删除、修改视图。

创建视图语法:

 
  1. CREATE VIEWS [IF NOT EXISTS] view_name[(
  2. [COMMENT column_comment],…)]
  3. [COMMENT view_comment]
  4. [TBLPROPERTIES (property_name = property_value,…)]
  5. AS SELECT …;

属性含义与表相同。视图是只读的,视图结构在创建之初就确定,后续对于是图相关的表结构修改不会反映到视图上,不能以视图作为目标操作对象执行 LOAD/INSERT/ALTER相关命令。若SELECT子句执行失败,CREATE VIEW 操作也将会失败。

  • 创建一个测试表test:
 
  1. create table test(id int,name string);

第1关:create/drop/alter 视图,Educoder,hive,大数据,数据库,大数据,sql

说明:关键字大小写不影响操作。

  • 查看表test

desc test;如下图:

第1关:create/drop/alter 视图,Educoder,hive,大数据,数据库,大数据,sql

  • 基于表test创建一个test_view视图:
 
  1. CREATE VIEW test_view(
  2. id,
  3. name_length
  4. )
  5. AS SELECT id,length(name) FROM test;

第1关:create/drop/alter 视图,Educoder,hive,大数据,数据库,大数据,sql

  • 查看test_view视图属性,DESC test_view;

第1关:create/drop/alter 视图,Educoder,hive,大数据,数据库,大数据,sql

  • 查看视图结果:
 
  1. SELECT * FROM test_view;

第1关:create/drop/alter 视图,Educoder,hive,大数据,数据库,大数据,sql

Alter 视图

修改视图属性语法:

 
  1. ALTER VIEW [db_name.]view_name SET TBLPROPERTIES table_properties;
  2. table_properties:
  3. : (property_name = property_value, property_name = property_value, ...)
  • 修改添加视图test_view的属性:
 
  1. ALTER VIEW test_view SET TBLPROPERTIES ('creator'='Xiaoming','date'='2019-01-01');

第1关:create/drop/alter 视图,Educoder,hive,大数据,数据库,大数据,sql

修改视图名语法:

 
  1. ALTER VIEW [database_name.]view_name RENAME TO [database_name.]view_name;
  • 修改视图名test_viewtest2_view

第1关:create/drop/alter 视图,Educoder,hive,大数据,数据库,大数据,sql

Drop 视图

删除视图语法:

 
  1. DROP VIEW [IF EXISTS] view_name;
  • 删除test2_view视图
 
  1. drop view if exists test2_view;

第1关:create/drop/alter 视图,Educoder,hive,大数据,数据库,大数据,sql

  • 通过show tables;查看当前视图,如下test2_view视图已成功删除。

第1关:create/drop/alter 视图,Educoder,hive,大数据,数据库,大数据,sql

编程要求

请根据右侧命令行内的提示,在Begin - End区域内进行sql语句代码补充,具体任务如下:

student表结构:文章来源地址https://www.toymoban.com/news/detail-854969.html

INFO TYPE
Sno INT
name STRING
age INT
sex STRING
score STRUCT Chinese:FLOAT,Math:FLOAT,English:FLOAT
  • 创建test1数据库
  • test1中创建表student,表结构如上所示
  • 创建视图student_view
  • 修改视图名student_viewstudent_info_views
  • 删除student_info_views视图
#********* Begin *********#
echo "
CREATE DATABASE IF NOT EXISTS test1;
CREATE TABLE IF NOT EXISTS test1.student(
Sno INT,
name STRING,
age INT,
sex STRING,
score STRUCT<Chinese:FLOAT,Math:FLOAT,English:FLOAT>)
;
CREATE VIEW student_view(
Sno,
name_length,
age,
sex
) 
AS SELECT Sno,length(name),age,sex FROM student;
alter view student_view rename to student_info_views;
drop view if exists student_info_views;
"
#********* End *********#

到了这里,关于Hive表DDL操作(二)第1关:Create/Drop/Alter 视图的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Hive】——DDL(CREATE TABLE)

    3.2.1 指定序列化类(ROW FORMAT SERDE ‘’) 3.2.2 指定分隔符(row format delimited fields terminated by “t”) 6.1.1 建表语句 6.1.2 上传数据文件到hdfs 6.1.3 查询 6.2.1 建表语句 6.2.2 上传数据文件到hdfs 6.2.3 查询 select * from t_hot_hero_skin_price; 6.3.1 建表语句 6.3.2 上传数据文件到hdfs 6.3.3 查询

    2024年02月04日
    浏览(38)
  • 4、hive的使用示例详解-事务表、视图、物化视图、DDL(数据库、表以及分区)管理详细操作

    1、apache-hive-3.1.2简介及部署(三种部署方式-内嵌模式、本地模式和远程模式)及验证详解 2、hive相关概念详解–架构、读写文件机制、数据存储 3、hive的使用示例详解-建表、数据类型详解、内部外部表、分区表、分桶表 4、hive的使用示例详解-事务表、视图、物化视图、DDL

    2024年02月09日
    浏览(38)
  • 【hive】—原有分区表新增加列(alter table xxx add columns (xxx string) cascade;)

    需求:需要在之前上线的分区报表中新增加一列。 1、创建分区测试表并插入测试数据 查看原有分区表test_1的表结构 2、新增加一列 grade,数据类型为strIng 查看添加列之后的数据结构 3、新增加列grade有数据后,插入新的分区B数据正常显示,原来A区grade列为NULL。 原因是: h

    2024年02月08日
    浏览(34)
  • ALTER TABLE 分区操作-动态增加一级,多级分区,动态删除分区

    alter 分区操作包括增加分区和删除分区操作,这种分区操作在Spark3.x之后被支持,spark2.4版本不支持,并且使用时,必须在spark配置中加入spark.sql.extensions属性,其值为:org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions,在添加分区时还支持分区转换,语法如下: 添加分区语

    2024年02月16日
    浏览(30)
  • pycharm连接MySql数据库,新建表creat table、删除表drop table、查询表select、插入数据insert

    亲爱的小伙伴,欢迎你来为学习新的知识啦~~~ 一、安装pymysql 首先我们肯定要先在python中把能操作mySql的第三方数据库安装一下呀~ 安装方式:pip安装(你有没有安装好pip呀,可以看安装pip的相关文章进行安装好哦~) 打开我们电脑的终端,然后输入以下的命令,将我们

    2024年02月09日
    浏览(38)
  • MySQL数据库——MySQL创建视图(CREATE VIEW)

    创建视图是指在已经存在的 MySQL 数据库表上建立视图。视图可以建立在一张表中,也可以建立在多张表中。 可以使用 CREATE VIEW 语句来创建视图。 语法格式如下: 语法说明如下。 视图名 : 指定视图的名称。该名称在数据库中必须是唯一的,不能与其他表或视图同名。 SEL

    2024年02月02日
    浏览(43)
  • MySQL 中 ALTER 命令

    1.作用: 修改数据表名或者修改数据表字段 2.用法: (1)使用 ALTER 命令及 DROP 子句来删除表的对应字段: 注:如果数据表中只剩余一个字段则无法使用DROP来删除字段。 (2)使用 ADD 子句来向数据表中添加列,并定义数据类型: 注:如果你需要指定新增字段的位置,可以使

    2023年04月09日
    浏览(22)
  • hive之with as 和 create temporary区别

            在写hivesql语句时,通常因为实现一个比较复杂的逻辑时,往往使用多层嵌套关联,首先导致代码的可读性较差,其次是代码性能比较低。因为这个原因,很多人都会想方设法去优化代码,提高代码的可读性和性能。在优化中,我们尝尝想到的是去创建临时表的方法。

    2024年02月16日
    浏览(23)
  • 【PostgreSQL内核学习(二十四) —— (ALTER MATERIALIZED VIEW)】

    声明 :本文的部分内容参考了他人的文章。在编写过程中,我们尊重他人的知识产权和学术成果,力求遵循合理使用原则,并在适用的情况下注明引用来源。 本文主要参考了 postgresql-10.1 的开源代码和《OpenGauss数据库源码解析》和《PostgresSQL数据库内核分析》一书以及一些相

    2024年01月18日
    浏览(25)
  • 0052【Edabit ★☆☆☆☆☆】Learn Lodash: _.drop, Drop the First Elements of an Array

    0052【Edabit ★☆☆☆☆☆】Learn Lodash: _.drop, Drop the First Elements of an Array arrays Instructions According to the lodash documentation, _.drop creates a slice of an array with n elements dropped from the beginning. Your challenge is to write your own version using vanilla JavaScript. Examples Notes Do not attempt to import lodash; you are sim

    2024年02月06日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包