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
《大数据经典论文解读》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(8)
- 最新
- 精选
- 在路上徐老师好,从存储的角度上讲,分区和分桶都是在增加文件数量,合理使用分区和分桶,可以让文件不至于太大,减少查询时扫描的数据量,如果过度使用,会增加很多小文件,而HDFS并不适合存储小文件。从查询的角度讲,当我们按a、b、c、d四个字段分区时,会形成/a=*/b=*/c=*/d=*的四级目录,只有a、b、c、d同时作为查询条件时,才能利用这种存储方式的好处,否则需要检索很多文件,不如把它们放在同一个文件。只有经常使用的查询条件才会作为分区,比如时间,这样既能减少查询时扫描的数据量,又能避免形成很多小文件。2021-10-26130
- 峰最明显的问题就是小文件过多,不按照分区查必然需要open巨量文件,而且对元数据也是个负担。虽然分区分桶都是为了快速定位定位到要操作的文件集合,但却物理分割了数据,而不像索引依然保证数据是连续的。2021-10-255
- xunix在微软内部有一套大数据处理语言叫Scope 可以看做是兼容了SQL的Pig(对外的版本叫U-SQL 可以在Azure上体验)少数文件的话感觉用起来还是挺顺手的 但随着数据量增加 我们使用的时候逐步加入了各种存储路径的管理 现在看起来也是和metastore差不多的形式2021-10-262
- Amark突然发现Hive就类型汽车驾驶舱油门,刹车,方向盘..设计一样,无论是油车(mapreduce + hdfs)还是电车 (spark),都需要使用相同的使用方式。2022-12-12归属地:陕西11
- Bachue ZhouHive 居然是用分区充当索引来用的,还真是有新意。但是完全没有索引是不是也不方便?一句 SQL 哪怕再简单也有一个基础的扫描数据文件的时长。2022-12-02归属地:上海1
- 我是金水🍎老师,阅读hive源码您有什么材料推荐吗,谢谢老师!2022-03-121
- 核桃这里Hive有TEXTFILE,SEQUENCEFILE和RCFILE三种格式,其中RcFile格式则是后面提到的Dremel有点类似了2022-02-221
- thomasMetastore,我们通常是使用中心化的关系数据库来进行存储的 --------------------------------------------------------------------------------------> 若出现单点故障咋办?2021-11-2411
收起评论