大数据经典论文解读
徐文浩
bothub 创始人
13844 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 59 讲
大数据经典论文解读
15
15
1.0x
00:00/00:00
登录|注册

15 | Hive:来来去去的DSL,永生不死的SQL

你好,我是徐文浩。
通过过去几篇论文的解读,相信现在你已经深入掌握好了大数据系统的基本知识。而在 Google 的这些论文发表之后,整个工业界也行动起来了。很快,我们就有了开源的 GFS 和 MapReduce 的实现 Hadoop,以及 Bigtable 的实现 HBase。
这些系统,的确帮助我们解决了很多海量数据处理的问题。并且这些系统设计得也还算易用,作为工程师,我们基本不太需要对分布式系统本身有深入地了解,就能够使用它们。
不过,这些系统都还很原始和粗糙,随便干点什么都很麻烦。所以自然而然地,工程师们就会通过封装和抽象,来提供更好用的系统。这次的系统,不再是来自于 Google,而是 Facebook 了,它的名字叫做 Hive。
Facebook 在 2009 年发表了 Hive 的论文《Hive: a warehousing solution over a map-reduce framework》,并把整个系统开源。而在 2010 年,Facebook 又把这篇论文丰富了一下,作为《Hive-a petabyte scale data warehouse using hadoop》发表出来。这两篇论文其实内容上基本是一致的,后一篇的内容会更完整、详细一些,你可以按照自己的需要有选择性地阅读。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

Hive是基于Hadoop的数据仓库解决方案,旨在通过SQL语言执行MapReduce任务,从而简化大数据处理。文章介绍了Hive的设计目标和数据模型,包括对类型系统的引入和对表、行、列的处理,以及对各种数据类型的支持。Hive的设计使得大数据处理更加灵活和高效,同时简化了开发人员的工作。通过Hive,分析师可以通过简单的SQL语句执行复杂的数据分析任务,极大地提高了工作效率。此外,文章还讨论了Hive的数据存储方式,包括分区和分桶的使用,以及如何通过这些方式来提高数据分析的效率和灵活性。通过分区和分桶,可以减少全表扫描的需求,提供数据采样功能,从而帮助数据分析师快速定性地判断问题,并在完整的数据集上获得更精确的结果。Hive的整体架构并不复杂,主要包括对外接口、驱动器和Metastore三个部分。Hive通过Metastore统一管理了所有数据表的位置、结构、字段名称,以及SerDer的信息,使得Hive在处理大规模数据时更加方便和高效。总的来说,Hive通过其灵活的SQL支持、优化的数据存储方式和完善的用户界面,为大数据处理提供了高效、便捷的解决方案,使得数据分析工作更加简单和高效。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《大数据经典论文解读》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(8)

  • 最新
  • 精选
  • 在路上
    徐老师好,从存储的角度上讲,分区和分桶都是在增加文件数量,合理使用分区和分桶,可以让文件不至于太大,减少查询时扫描的数据量,如果过度使用,会增加很多小文件,而HDFS并不适合存储小文件。从查询的角度讲,当我们按a、b、c、d四个字段分区时,会形成/a=*/b=*/c=*/d=*的四级目录,只有a、b、c、d同时作为查询条件时,才能利用这种存储方式的好处,否则需要检索很多文件,不如把它们放在同一个文件。只有经常使用的查询条件才会作为分区,比如时间,这样既能减少查询时扫描的数据量,又能避免形成很多小文件。
    2021-10-26
    1
    30
  • 最明显的问题就是小文件过多,不按照分区查必然需要open巨量文件,而且对元数据也是个负担。虽然分区分桶都是为了快速定位定位到要操作的文件集合,但却物理分割了数据,而不像索引依然保证数据是连续的。
    2021-10-25
    5
  • xunix
    在微软内部有一套大数据处理语言叫Scope 可以看做是兼容了SQL的Pig(对外的版本叫U-SQL 可以在Azure上体验)少数文件的话感觉用起来还是挺顺手的 但随着数据量增加 我们使用的时候逐步加入了各种存储路径的管理 现在看起来也是和metastore差不多的形式
    2021-10-26
    2
  • Amark
    突然发现Hive就类型汽车驾驶舱油门,刹车,方向盘..设计一样,无论是油车(mapreduce + hdfs)还是电车 (spark),都需要使用相同的使用方式。
    2022-12-12归属地:陕西
    1
    1
  • Bachue Zhou
    Hive 居然是用分区充当索引来用的,还真是有新意。但是完全没有索引是不是也不方便?一句 SQL 哪怕再简单也有一个基础的扫描数据文件的时长。
    2022-12-02归属地:上海
    1
  • 我是金水🍎
    老师,阅读hive源码您有什么材料推荐吗,谢谢老师!
    2022-03-12
    1
  • 核桃
    这里Hive有TEXTFILE,SEQUENCEFILE和RCFILE三种格式,其中RcFile格式则是后面提到的Dremel有点类似了
    2022-02-22
    1
  • thomas
    Metastore,我们通常是使用中心化的关系数据库来进行存储的 --------------------------------------------------------------------------------------> 若出现单点故障咋办?
    2021-11-24
    1
    1
收起评论
显示
设置
留言
8
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部