博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hive里的分区、分桶、视图和索引再谈
阅读量:5171 次
发布时间:2019-06-13

本文共 1405 字,大约阅读时间需要 4 分钟。

 

 

福利 => 每天都推送 

欢迎大家,关注微信扫码并加入我的4个微信公众号:   大数据躺过的坑      Java从入门到架构师      人工智能躺过的坑         Java全栈大联盟
 
     每天都有大量的学习视频资料和精彩技术文章推送... 人生不易,唯有努力。
 
     百家号 :九月哥快讯               快手号:  jiuyuege
 
 
 
 

   分桶是细粒度的,分桶是不同的文件

  分区是粗粒度的,即相当于,表下建立文件夹。分区是不同的文件夹

 

桶在对指定列进行哈希计算时,会根据哈希值切分数据,使每个桶对应一个文件。

  里面的id是哈希值,分过来的。

 

分桶,一般用作数据倾斜和数据抽样方面。由此,可看出是细粒度。

 

 

  Hive 中创建分区表没有什么复杂的分区类型(范围分区、列表分区、hash 分区,混合分区等)。分区列也不是表中的一个实际的字段,而是一个或者多个伪列。意思是说,在表的数据文件中实际并不保存分区列的信息与数据。

 

 

 

注意:普通表(外部表、内部表)、分区表这三个都是对应HDFS上的目录,桶表对应是目录里的文件

 

 

 

 

 索引是为了提高查询速度的,视图是在查询sql的基础上的。 
 对一个表来说,视图是横向的,一般创建视图查询语句都要加条件的 
 
 
 索引是作用列上面的 
 
   拿索引来说,在某列上建立索引,得到的这个索引表,其实是原来的表而已。只是取了个新名字。
因为在建立了索引
包装了一下 
 

   视图是指计算机中的视图,是一个虚拟表,即不是实实在在的,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。

   一般情况,是多表关联查询的时候,才用视图 

   对一个表来说,视图是横向的,一般创建视图查询语句都要加条件的 
   索引是作用列上面的 

   索引是为了提高查询速度的,视图是在查询sql的基础上的。

   比如一个表很多字段,你查询的时候,只是想取得其中一部分字段,并且包含一些特定条件的数据 ,这个时候最好用视图。
 
 
 
 
 
 
 
 

 

 

 

 

 

 

 

 

 

 

欢迎大家,加入我的4个微信公众号:    大数据躺过的坑     Java从入门到架构师    人工智能躺过的坑     Java全栈大联盟    
 
 
 

同时,大家可以关注我的个人博客

   http://www.cnblogs.com/zlslch/   和     http://www.cnblogs.com/lchzls/      http://www.cnblogs.com/sunnyDream/   

   详情请见:http://www.cnblogs.com/zlslch/p/7473861.html

 

  人生苦短,我愿分享。本公众号将秉持活到老学到老学习无休止的交流分享开源精神,汇聚于互联网和个人学习工作的精华干货知识,一切来于互联网,反馈回互联网。

  目前研究领域:大数据、机器学习、深度学习、人工智能、数据挖掘、数据分析。 语言涉及:Java、Scala、Python、Shell、Linux等 。同时还涉及平常所使用的手机、电脑和互联网上的使用技巧、问题和实用软件。 只要你一直关注和呆在群里,每天必须有收获

 

      对应本平台的讨论和答疑QQ群:大数据和人工智能躺过的坑(总群)(161156071) 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

     打开百度App,扫码,精彩文章每天更新!欢迎关注我的百家号: 九月哥快讯

 

 

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/zlslch/p/6602437.html

你可能感兴趣的文章
条形码生成包 BarCodeToHTML.cs(以颜色为背景的完整版)(下载的完整版)
查看>>
数据库事务的四大特性以及事务的隔离级别
查看>>
电脑屏幕保护眼睛
查看>>
有用的东西
查看>>
如何开启VMware串口
查看>>
数据库
查看>>
常见Struts、Hibernate、Spring、J2EE、ibatis、Oracle等开发框架架构图及其简介
查看>>
Java为何大行其道
查看>>
directory not found for option
查看>>
ContentProvider简单介绍
查看>>
CFileDialog的使用方法简单介绍
查看>>
send,recv,sendto,recvfrom
查看>>
C#开发问题汇总
查看>>
Kettle
查看>>
[复习]Python基础回顾
查看>>
LNMP
查看>>
c#枚举自定义,用于数据绑定。
查看>>
initwithcoder和 initwithframe 区别?
查看>>
iphone EAGL 代表什么
查看>>
object-C 与 C++的比较
查看>>