Hive的数据存储(视图)

Hive的数据存储(视图)

视图(view)

  • 视图是一种虚表,是一个逻辑概念;可以跨越多张表

    既然视图是一种虚表,那么也就是说用操作表的方式也可以操作视图
  • 但是视图是建立在已有表的基础上,视图赖以建立的这些表称为基表
  • 视图最大的好处就是可以简化复杂的查询

现在有两张表

①部门表



②员工表



而在关系性数据库中两张表的deptno部门号是外键的关系

现在来建立一张视图来查询员工数据

--查询员工信息:员工号、姓名、月薪、年薪、部门名称

create view empinfo
as
select e.empno,e.ename,e.sal,e.sal*12 annlsal,d.dname
from emp e,dept d
where e.deptno=d.deptno;

查看视图结构

desc empinfo;
empno int
ename string
sal int
annlsal int
dname string

视图中查询数据

select * from empinfo;

视图是种虚表,它所查出来的数据都是存在于它所依赖的表。如果视图能够存储数据的话是不是可以提高查询效率?答案是肯定的。这种视图是种特殊视图,称为物化视图。

在oracle和mysql中是支持物化视图的,但是在hive中是不支持物化视图的

hadoop笔记之Hive的数据存储(视图)的更多相关文章

  1. hadoop笔记之Hive的数据存储(内部表)

    Hive的数据存储(内部表) Hive的数据存储(内部表) 基于HDFS 可使用hadoop给我们提供的web管理工具查看数据.打开管理工具localhost:9000–>Utilities下的 ...

  2. hadoop笔记之Hive的数据存储(桶表)

    Hive的数据存储(桶表) Hive的数据存储(桶表) 桶表 桶表是对数据进行哈希取值,然后放到不同文件中存储. 比如说,创建三个桶,而创建桶的原则可以按照左边表中学生的名字来创建对应的桶.这样子把左 ...

  3. hadoop笔记之Hive的数据存储(外部表)

    Hive的数据存储(外部表) Hive的数据存储(外部表) 外部表 指向已经在HDFS中存在的数据,可以创建Partition 它和内部表在元数据的组织上是相同的,而实际数据的存储则有较大的差异 外部 ...

  4. hadoop笔记之Hive的数据存储(分区表)

    Hive的数据存储(分区表) Hive的数据存储(分区表) 分区表 Partition对应于数据库的Partition列的密集索引 在Hive中,表中的一个Partition对应于表下的一个目录,所有 ...

  5. Hive 表操作(HIVE的数据存储、数据库、表、分区、分桶)

    1.Hive的数据存储 Hive的数据存储基于Hadoop HDFS Hive没有专门的数据存储格式 存储结构主要包括:数据库.文件.表.试图 Hive默认可以直接加载文本文件(TextFile),还 ...

  6. Atitit 数据存储视图的最佳实际best practice attilax总结

    Atitit 数据存储视图的最佳实际best practice attilax总结 1.1. 视图优点:可读性的提升1 1.2. 结论  本着可读性优先于性能的原则,面向人类编程优先于面向机器编程,应 ...

  7. 大数据软件安装之Hadoop(Apache)(数据存储及计算)

    大数据软件安装之Hadoop(Apache)(数据存储及计算) 一.生产环境准备 1.修改主机名 vim /etc/sysconfig/network 2.修改静态ip vim /etc/udev/r ...

  8. hadoop笔记之Hive入门(Hive的体系结构)

    Hive入门(二) Hive入门(二) Hive的体系结构 ○ Hive的元数据 Hive将元数据存储在数据库中(metastore),支持mysql.derby.oracle等数据库,Hive默认是 ...

  9. hadoop笔记之Hive入门(什么是Hive)

    Hive入门(一) Hive入门(一) 什么是Hive? Hive是个数据仓库,数据仓库就是数据库,但又与一般意义上的数据库有点区别 实际上,Hive是构建在hadoop HDFS上的一个数据仓库. ...

随机推荐

  1. session劫持以及预防

    session劫持是一种广泛存在的比较严重的安全威胁,在session技术中,客户端和服务端通过session的标识符来维护会话, 但这个标识符很容易就能被嗅探到,从而被其他人利用.它是中间人攻击的一 ...

  2. 对js中prototype的理解

    一直不理解child.prototype = new Parent()和child.prototype =Parent.prototype的区别,到现在为止,我觉得它俩最大的区别就是:前者共享构造器里 ...

  3. Asp.Net MVC4下设置W3P3(IIS)调试步骤

    环境] VS 2012  IIS7.5 [问题] MVC项目在创建时和APS.NET不同,不能够选择服务器类型,不能够直接把项目创建到IIS上. 如果在项目中直接更改属性,更换调试服务器类型,会报错 ...

  4. 多线程12_张孝祥 java5读写锁技术的妙用

    package locks; import java.util.Random; import java.util.concurrent.locks.ReentrantReadWriteLock; /* ...

  5. c#中的数据类型简介

    一.C#中的变量和常量 C#中用于定义常量的方式有两种一个使用const关键字,一个是用readonly关键字.使用const定义的常量叫静态常量(compile-time constant),用re ...

  6. 前端开发的常用js库

    验证: jQuery formValidator,Validform; 提示框: artDialog, lhgDialog,jBox,jQuery textbox plugin 文件批量上传:uplo ...

  7. JavaScript基本概念(对象)

    1.对象的分类 内置对象:由ECMAScript规范定义的对象或类 宿主对线:由浏览器定义的对象 自定义对象:由运行中的Javascript代码创建的对象 2.属性的分类 自有属性:直接在对象中定义的 ...

  8. ContentProvider类的解析

    一.ContentProvider类 1.作用:专门用于不同应用之间进行数据共享的方式. 二.实现方法 1.创建ContenteProvider类 步骤一:继承ContentProvider接口,重写 ...

  9. svn检出maven工程到eclipse里面,部署到tomcat的步骤

    1. 首先import project from svn 2.检出项目后,如果是多模块的maven项目,在子模块右击,import as project 3.右击项目,properties->d ...

  10. MYSQL 数学运算符问题

    背景: 在mysql中   ’stringA' + 'stringB' 这种类型的操作,在mysql内部会自动转化为两个double 数进行运算. -------------------------- ...