1. hive 内部表和外部表的区别?
  2. hive 是如何实现分区的?
  3. Hive 有哪些方式保存元数据,各有哪些优缺点?
  4. hive中order by、distribute by、sort by和cluster by的区别和联系
  5. hive 中的压缩格式 RCFile、 TextFile、 SequenceFile 各有什么区别?
  6. hive 如何优化?

2|0hive 内部表和外部表的区别?

  1. 未被external修饰的是内部表(managed table),被external修饰的为外部表(external table);
  2. 内部表数据由Hive自身管理,外部表数据由HDFS管理;
  3. 内部表数据存储的位置是hive.metastore.warehouse.dir(默认:/user/hive/warehouse),外部表数据的存储位置由自己制定(如果没有LOCATION,Hive将在HDFS上的/user/hive/warehouse文件夹下以外部表的表名创建一个文件夹,并将属于这个表的数据存放在这里);
  4. 删除内部表会直接删除元数据(metadata)及存储数据;删除外部表仅仅会删除元数据,HDFS上的文件并不会被删除;
  5. 对内部表的修改会将修改直接同步给元数据,而对外部表的表结构和分区进行修改,则需要修复(MSCK REPAIR TABLE table_name;)
  6. 修改外部表想要生效,需要先把外部表转内部表,然后修改,再转外部表。

3|0hive 是如何实现分区的?

建表语句:
create table tablename (id) partitioned by (dt string)
增加分区:
alter table tablenname add partition (dt = ‘2016-03-06’)
删除分区:
alter table tablename drop partition (dt = ‘2016-03-06’)

4|0Hive 有哪些方式保存元数据,各有哪些优缺点?

存储于 derby数据库,此方法只能开启一个hive客户端,不推荐使用
存储于mysql数据库中,可以多客户端连接,推荐使用

5|0hive中order by、distribute by、sort by和cluster by的区别和联系

order by
order by 会对数据进行全局排序,和oracle和mysql等数据库中的order by 效果一样,它只在一个reduce中进行所以数据量特别大的时候效率非常低。
而且当设置 :set hive.mapred.mode=strict的时候不指定limit,执行select会报错,如下:
LIMIT must also be specified。

sort by
sort by 是单独在各自的reduce中进行排序,所以并不能保证全局有序,一般和distribute by 一起执行,而且distribute by 要写在sort by前面。
如果mapred.reduce.tasks=1和order by效果一样,如果大于1会分成几个文件输出每个文件会按照指定的字段排序,而不保证全局有序。
sort by 不受 hive.mapred.mode 是否为strict ,nostrict 的影响。

distribute by
DISTRIBUTE BY 控制map 中的输出在 reducer 中是如何进行划分的。使用DISTRIBUTE BY 可以保证相同KEY的记录被划分到一个Reduce 中。

cluster by
distribute by 和 sort by 合用就相当于cluster by,但是cluster by 不能指定排序为asc或 desc 的规则,只能是升序排列。

6|0hive 中的压缩格式 RCFile、 TextFile、 SequenceFile 各有什么区别?

TextFile:默认格式,数据不做压缩,磁盘开销大,数据解析开销大

SequenceFile:Hadoop API提供的一种二进制文件支持,使用方便,可分割,可压缩,支持三种压缩,NONE,RECORD,BLOCK。

RCFILE:是一种行列存储相结合的方式。首先,将数据按行分块,保证同一个 record 在同一个块上,避免读一个记录读取多个block。其次,块数据列式存储,有利于数据压缩和快速的列存取。数据加载的时候性能消耗大,但具有较好的压缩比和查询响应。

7|0hive 如何优化?

join 优化,尽量将小表放在 join 的左边,如果一个表很小可以采用 mapjoin。
排序优化,order by 一个 reduce 效率低,distirbute by +sort by 也可以实现全局排序。
使用分区,查询时可减少数据的检索,从而节省时间。

2021-09-02Hive 未被external修饰的是内部表,被external修饰的是外部表相关推荐

  1. 外部表External table

    把一个普通的文本格式的OS文件看作是Oracle数据库的外部表,Oracle可以象普通表一样进行select 操作,可以建视图,可以与其他进行连接等,但不能对其进行DML操作,即该表是只读的!(10g ...

  2. GreenPlum 外部表external table 实战

    在第一个greenplum集群下面的master服务器上,启动gpfdist服务,在00_mdw启动gpfdist服务 执行启动命令: nohup $GPHOME/bin/gpfdist -d /ho ...

  3. 橘子CPS联盟操作手册2021.09

    橘子CPS联盟操作手册2021.09 目录 橘子CPS联盟操作手册2021.09 橘子CPS联盟是干嘛的 橘子CPS基本操作流程 PC端操作 1.注册 2.登陆 3.渠道管理 4.分享网站 5.分享网 ...

  4. 2021.09.27 MySQL笔记

    2021.09.27 MySQL笔记 文章目录 2021.09.27 MySQL笔记 一.展示当前存在的所有数据库 二.使用(选中)一个数据库 三.创建一个数据表 四.查询并展示该数据库内的所有数据表 ...

  5. 实习日志 (2021.09.13)

    2021.09.13星期一 今天把之前的算法题终于给弄明白了,并能够按照自己的思路去把他给完成,总结这个题目并不是很难,最重要的是要把链表给弄懂,一开始由于我对链表不是很熟悉,导致我在写该题目的时候花 ...

  6. 2021.09青少年软件编程(Python)等级考试试卷(三级)

    2021.09青少年软件编程(Python)等级考试试卷(三级) 一.单选题(共25题,每题2分,共50分) 1.使用map函数可以实现列表数据元素类型的转换,而无需通过循环.则将列表L=['1',' ...

  7. 2021.09.24—皮皮与帅帅的第二篇情话

    2021.09.24我们小情书的第二天 每天晚上,小兔子都会一个人来到溪水边,坐在地上数着星星.而且他个人也非常喜欢一闪一闪的东西.对于小兔子来说,每颗星星都是特别的,于是她就给每颗星星都起了一个可爱 ...

  8. 《惢客创业日记》2021.09.15(周三)套路的最高境界

    今天,凉粉儿给我发了一段她想的关于惢客的宣传词:"你被套路过吗?想不再被套路吗?上惢客."总结一句话是"不被套路上惢客".我觉得能把惢客跟套路联系在一起,很贴切 ...

  9. 2021年大数据Hive(三):手把手教你如何吃透Hive数据库和表操作(学会秒变数仓大佬)

    全网最详细的Hive文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 系列历史文章 前言 Hive数据库和表操作 一.数据库操作 1.创建数据库 2.创建 ...

  10. AHK-UMSS框架 (AHK通用修饰键解决方案,任何键都是修饰键)

    AHK-UMSS框架 (AHK通用修饰键解决方案,任何键都是修饰键) 1 #Warn 2 #NoEnv ; # 禁用环境变量检查:不检查空变量是否为"环境变量",可以极大地提高效率 ...

最新文章

  1. rem是如何实现自适应布局的
  2. 【译】 Google: Still in The Search 搜索巨人Google的伟大转变 (四)
  3. SPL - 写着简单跑得又快的数据库语言
  4. sap.ushell.Container.getService(URLParsing) click tile using Ke's user
  5. 算法题+JVM+自定义View,详细的Android学习指南
  6. java日历类add方法_Java日历setFirstDayOfWeek()方法与示例
  7. 微服务——最热门的架构
  8. 如何下载python3.6版本-python最新版本免费下载-python 3.6.3正式版下载__飞翔下载
  9. 10许可证即将到期_重要公告:这些企业,你们的证到期啦
  10. 2014-VGG网络讲解
  11. Remote Desktop Manager for Mac(远程桌面管理工具)
  12. 【Unity3D插件】Unity开发利器——插件(各类插件及教程推荐)| 寻找C站宝藏
  13. 几个比较好用的爬虫库
  14. SQL Server安装和修改身份验证方式
  15. Pycharm生成决策树
  16. 梦想,因坚持而绽放——答大学生的兴趣与行动
  17. MSP430X1XX系列ADC12和DMA详解(附带程序)(上)--ADC12详解与源码
  18. linux获取lnk文件的源目标路径,通过快捷方式lnk获得文件真实路径
  19. 股票指标使用 - 捕捞季节
  20. ETH数据集下载及相关问题

热门文章

  1. 科技部再公布网络安全等10项国家重点研发计划
  2. 为什么微软应该通过收购Docker来与Kubernetes竞争
  3. UserDefault使用
  4. 关键字AUTO_INCREMENT 重命名表 修改列的属性。
  5. Coolite中的ComboBox控件示例
  6. jsp java mysql_jsp java mysql
  7. 群同态基本定理证明_群论(2): 群作用, Sylow定理
  8. windows 编写的硬件驱动_黑科技or大势所趋?谈谈手机GPU驱动升级那点事
  9. cmd链接php mysql数据库_php连接mysql数据库_cmd连接mysql数据库 - MySQL最新手册教程 - php中文网手册...
  10. 建模步骤_SolidWorks建模气球球拖,有步骤,新手都在找的练习题