前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >聊聊 Hadoop 生态圈的历史之 Hive

聊聊 Hadoop 生态圈的历史之 Hive

作者头像
哒呵呵
发布2020-02-26 10:58:39
8140
发布2020-02-26 10:58:39
举报
文章被收录于专栏:鸿的学习笔记鸿的学习笔记

今天再聊聊 Hadoop 生态圈。话说前文已经提到了雅虎硬是用自己的业务把 Hadoop 搞出来了,最后也不知道什么原因把辛辛苦苦地弄出来的 Hadoop 给开源了。于是硅谷的一堆当时还在创业时,现在已经庞然大物的公司拥了上去,把 Hadoop 生态圈搞起来了。

在 Hadoop 生态圈里,雅虎除了贡献了核心的 HDFS 和 MapReduce 外,还开源了 Zookeeper 和 Pig 。

Zookeeper 是一个分布式系统的协调服务框架,经常用于分布式系统里的数据管理问题。Zookeeper 的用途非常广泛,比如 Hbase 、老版本的 Kafka 都使用了 Zookeeper 来协调。

刚开始的时候,大家写 MapReduce 程序要写各种花式的 Mapper 和 Reducer ,像一般的排序都要写两三个。嗯,写过 MapReduce 程序的人大概都清楚这里面的麻烦,在这里想 @ 下前同事。要是总这么弄,也就程序员能玩了,根本推广不开。人类总是很懒惰的,于是搞出了高级语言,然后“翻译器”把高级语言翻译成 MapReduce 程序。

Pig 是 Hadoop 生态圈里的第一个高级语言,它的编译器可以把写好的脚本翻译成原生的 MapReduce 程序,也让用户第一次摆脱了 MapReduce 的繁琐,当然这还不是最完美的。Pig 现在基本上是“死亡”状态,感兴趣的可以研究下,用过几次,个人不是很喜欢它的风格。

既然说到了高级语言,那就不可不提 Hadoop 生态圈里的 Hive 。在数据领域里,凡是玩存储和处理的不支持 SQL 的十有八九推广不了。毕竟谁都能写几句 SQL ,但是编程语言这种东西还是相对较难的。Hive 就是让程序猿可以用 SQL 告诉系统我要干什么,至于怎么执行、优化和处理交给系统去做就行了。

Hive 是 Facebook 弄出来的东西,有段时间专门读过 Hive 的代码,嗯,一言难尽。后来读文献,有人评价 Hive 的“源码 Bug 比较多,维护难度大”,我是比较认同的,写这篇文章之前又专门的去 GitHub 上翻了下,现在的代码质量好了些。

先不论 Hive 本身,至少 Hive 第一次实现了 SQL 。第一个玩家只要不乱搞,代码再差,最后还是在某种程度上已经成为了 SQL On Hadoop 类型项目的标准,无论是后起之秀 Spark 还是 Flink (新版本支持 Hive 元数据了)都不约而同的兼容了 Hive ,特别是 Hive 的元数据,更是无数 Hadoop 生态圈里 SQL 项目必须兼容的一项。

Facebook 除了搞出了 Hive,后面交互式查询兴起的时候,又弄出来 Presto ,Hive 的维护主要就是开源社区自己在做了。

今天先聊到这,下一篇文字再聊数据存储领域的历史。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-02-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 鸿的笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据保险箱
数据保险箱(Cloud Data Coffer Service,CDCS)为您提供更高安全系数的企业核心数据存储服务。您可以通过自定义过期天数的方法删除数据,避免误删带来的损害,还可以将数据跨地域存储,防止一些不可抗因素导致的数据丢失。数据保险箱支持通过控制台、API 等多样化方式快速简单接入,实现海量数据的存储管理。您可以使用数据保险箱对文件数据进行上传、下载,最终实现数据的安全存储和提取。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档