写点什么

Hadoop 已死,Hadoop 万岁

  • 2019-09-20
  • 本文字数:3745 字

    阅读完需:约 12 分钟

Hadoop已死,Hadoop万岁

本文作者是 Arun C Murthy,Cloudera 现任 CPO,原 Hortonworks 联合创始人与 CPO。自 2006 年 Hadoop 诞生就大量参与数据工作。老的体育灵魂,牧羊犬工程师。


最近又有很多关于“Hadoop 已死”的论调,似乎每隔一段时间就会有一些类似的文章或声音。几年前 Cloudera 就已经停止了以 Hadoop 来营销自己,而是一家企业数据公司。如今,Cloudera 也已进入企业数据云市场:混合/多云和多功能分析,具有通用的安全和治理,所有这些都由开源提供支持。


话虽如此,但要挑战如潮水般“Hadoop 已死”的负面消息,还是有难度的。我的看法是 Hadoop 代表的是数据领域的开源社区,这个社区本就是由我们共同创造和维护的,这一点在 13 多年的时间里,我从未改变。

什么是 Hadoop

让我们从基础开始 - Hadoop 作为 Apache 软件基金会的一个开源项目开始,使用 HDFS 和 MapReduce 实现批量应用,但很快就扩展成为一个广泛、丰富和开放的生态系统。今天 Cloudera 的“Hadoop 发行版”(CDH/HDP/CDP)包含 30 多个开源项目,涉及存储,计算平台(比如 YARN 和未来的 Kubernetes),批量/实时计算框架(Spark,Flink 等),编排,SQL,NoSQL,ML,安全/治理等等。


所以,如果你认为 Hadoop 仅仅就是 MapReduce,那么是的,我同意 - MapReduce 正在没落。但这与 Spark,Flink 以及其它所有我们所接受的创新都没有关系,这些新特性或创新令我们的客户也非常满意。这就是这个平台的美丽与强大之处 - 它可以演变为拥抱新的范例。


那么,如果 Hadoop 不是“项目”或一组项目,它是什么?


就个人而言,“Hadoop”是一门哲学 - 向管理和分析数据现代架构的转变。


呃,再说一次?

“Hadoop 哲学”

Hadoop 哲学一直遵循以下原则:


1.向每个层(存储,计算平台,批处理/实时/SQL 等计算框架)分解软件栈的转变,构建为可组合的乐高积木,远离单一且不灵活的软件栈(例如具有自定义存储格式,解析器以及执行引擎等垂直整合的数据库)。


a)特别是,这有助于建立一个开放元数据,安全和治理的平台,以让分解的软件栈和谐相处。


2.利用商用硬件构建大规模分布式系统并远离专有/单一硬件与软件的转变。


a)在经济理论中,商品被定义为具有充分或实质可替代性且具有广泛可用性的物品或服务,这通常导致较小的利润率并且减少除价格之外的因素(例如品牌名称)的重要性。


b)请参阅下文,了解如何从架构上做出很好的转变,以应对公有云的出现。


3.利用开放数据标准和开源技术,远离专有供应商控制技术的转变。它不仅仅是开放标准,标准是实现而不仅仅是“规范”。


4.向灵活且不断变化的技术生态系统(MRv1 -> YARN -> K8s,MapReduce -> Spark/Flink 等)的转变,远离使用单一技术栈满足所有需求,从而在每个层面都实现创新。


在某些方面,“Hadoop 哲学”是数据架构,Ken Thompson 著名的 Unix Philosophy 是软件开发。Eric Raymond 在著名的 Art of Unix Programming 一书中阐述的 17 条 Unix 规则,许多也适用于这个领域:


Unix Philosophy

https://en.wikipedia.org/wiki/Unix_philosophy

Art of Unix Programming

https://en.wikipedia.org/wiki/Unix_philosophy#cite_note-11

17 Rules for Unix

https://en.wikipedia.org/wiki/Unix_philosophy#Eric_Raymond’s_17_Unix_Rules


1.模块化原则(Rule of Modularity):写简单的,能够用清晰的接口连接的代码。


HDFS,YARN/K8s,Spark,Hive 等可以组合并相互依赖。


……


3.组件化原则(Rule of Composition): 设计可以互相关联(拆分)的程序。


Impala,Hive 和 Spark 等都是高度可组合的,用于端到端的解决方案。


……


4.分离原则(Rule of Separation):策略和机制分离,接口和引擎分离。


HDFS 既是文件系统接口,也是文件系统实现。这就是 Spark 通过 Hadoop 兼容文件系统“API”可以与 S3 对话的原因。


……


6.小巧原则(Rule of Parsimony):不要写大的程序(模块、方法)。除非很明显的,没有别的办法可以完成。


我们避免“大”/“胖”层,而是使用依赖于另一个的模块化层。比如 Phoenix 和 HBase。


……


7.透明原则(Rule of Transparency):为可见性设计,使检查和调试更容易。


开源 For The Win(FTW)


……


16.多样性原则(Rule of Diversity):决不相信所谓"不二法门"或"银弹"的断言。


我们的生态系统提供了多种工具,因为它们对于不同的场景有不同的优势(通过 Spark 或 Hive 进行 ETL,通过 Hive/Tez/LLAP 或 Impala 或 Spark SQL 进行 SQL 查询)


17.可扩展性规则(Rule of Extensibility):设计着眼未来, 未来总比预想来得快。


2005-2006 年初,我们无法预测 HBase,Hive,Impala,Spark,Flink,Kafka 等的出现,13 年来我们做了很多工作来使它们成为一流的关键组件。

关于云

现在公有云(以及私有云)显然已经成为企业部署架构的组成部分。


公有云基本上是企业硬件基础设施(服务器,网络,数据中心等)的商品化。因此,它完全符合“Hadoop 哲学”的原则 - 专注于商品硬件。此外,整个 Hadoop 生态系统一直是为了“变形(shape-shift)”并吸收新的变化而建立的 - Tom White 于 2006 年编写了第一个 S3-Hadoop connector,亚马逊在 2009 年推出了 EMR。


Tom White wrote the first S3-Hadoop connector in 2006

https://issues.apache.org/jira/browse/HADOOP-574


与此相比,传统数据库供应商分解单一和高度工程化/融合的硬件/软件栈使其能“原生”的在公有云中运行,可想而知会有多难。


不幸的是,作为一个行业,我们在帮助市场(特别是金融市场)了解“Hadoop”与传统技术在拥抱公有云的能力方面的区别不是太给力。有些事值得我们去思考以及去解决。


AWS EMR,Azure HDInsight 和 Google Dataproc 是 Hadoop 如何在公有云中为客户大规模推动价值和业务的绝佳例子。

关于 Cloudera

Cloudera 是一家数据公司。我们使人们能够将数据转化为清晰且可操作的洞察力。我们通过拥抱“Hadoop 哲学”来实现这一目标。我们建立了这个市场 - 我们为过去感到自豪,但不会被它蒙蔽。我们采用新的主流技术(公有云,Kubernetes 等),因为这么做是有意义的,使我们的客户受益,并且与我们的使命一致。


我喜欢贝索斯的哲学:专注于不改变的事物。从现在起一百年后,企业仍然希望将数据转化为洞察力。这就是我们的工作,并将继续这样做。


Focus on things that don’t change

https://www.inc.com/jeff-haden/20-years-ago-jeff-bezos-said-this-1-thing-separates-people-who-achieve-lasting-success-from-those-who-dont.html


对我们来说,有些事情已经发生了变化,我们需要注意到。五年前,当我们成为“it”技术时,我们获得了一个大厅通行证(hall pass)。所有很酷的孩子都想跟我们绑在一起,给我们带来了他们能找到的所有用例,并将我们展示给他们的朋友。在某种程度上,“答案是 Hadoop - 问题是什么?”是普遍存在的情况。这导致了一些不合理的期望,这些期望在产品生命周期中是不现实的,或者过早。


现在我们必须更努力地说服客户使用我们带入市场的东西,但我们带给他们的价值和理念是毋庸置疑的。我们还需要说服客户使用我们这些技术,如 CDP。今天他们依旧与我们合作,正如他们在我们的平台上运行的数千 PB 数据和数百万分析应用程序所证明的那样!


从本质上讲,我们将通过参与用户和企业想要存储/管理/保护/管理/分析数据的用例来继续蓬勃发展。我们愿意被误解一段时间,因为这些负面消息会重复出现,然后会慢慢消退,因为我们用结果来证明一切。所有伟大的公司会不时被误解,但经久不衰的公司会坚忍不拔。


我前几天在社交媒体上看到了这个评论:


“如果我在 Kubernetes 上使用 CDP 运行 Spark 来分析 S3 中的数据,那么 Hadoop 在哪里?”


我其实笑得很开心,并且想:


只要您使用 CDP 服务… :-)


Gartner 分析师 Merv Adrian 喜欢讲述一个类似的故事,一个客户称他“最喜欢的 Hadoop 应用程序”是使用 Spark 运行 TensorFlow 分析 S3 中的数据。Merv 问他为什么那是 Hadoop,他回答说:“它是“Hadoop”,因为 Hadoop 团队建立了它”。此外,使用的 Spark 确实来自 Hadoop 发行版。因此 Merv 指出:“情人眼里出 Hadoop”。


CDP 的基本目标是作为一个云服务,让企业不用面对大量复杂的技术,而能够更简单的从平台获取价值。特别是我们在 CDP 中为数据仓库和机器学习提供原生的 SAAS 服务,使业务用户可以轻松的对云对象存储中的数据进行分析。此外,SDX 使用 ABAC 和存储在对象存储和本地 HDFS 中的数据的细粒度策略建立完全安全的数据湖,以及治理和加密(包括存储加密和传输加密)。我们在这方面取得的进展非常非常令人兴奋 - 正如我们从许多企业客户提供的反馈中看到的那样!

所以,Hadoop 已死?

你所认为的传统的 Hadoop 已经死了,确实如此。但 Hadoop 作为一门哲学,推动不断发展的开源技术生态系统和开放数据标准,使人们能够将数据转化为洞察力,这门哲学是充满活力和持久的。


只要有数据,就会有“Hadoop”。


Hadoop 已死,“Hadoop”万岁。


Apache Hadoop,Apache Spark,Apache Flink,Apache Hadoop HDFS,Apache HBase 等都是 Apache Software Foundation 的商标。


原文地址


https://medium.com/@acmurthy/hadoop-is-dead-long-live-hadoop-f22069b264ac


本文转载自公众号“Cloudera 中国”https://mp.weixin.qq.com/s/riZAhwcRlo-VyIehfbiUwA


2019-09-20 14:273711

评论 1 条评论

发布
暂无评论
发现更多内容

HarmonyOS Next 浅谈 发布-订阅模式

万少

鸿蒙

HarmonyOS Next 简单上手元服务开发

万少

鸿蒙

三文带你轻松上手鸿蒙的 AI 语音 01-实时语音识别

万少

鸿蒙

HarmonyOS Next V2 @Monitor 和@Computed

万少

鸿蒙

2025年最新Java八股文面试题,面试应该是够用了(吊打面试官)

Summer

Java 程序员 面试 架构师 大厂

三文带你轻松上手鸿蒙的 AI 语音 01-实时语音识别

万少

鸿蒙

HarmonyOS Next 并发 taskpool 和 worker

万少

鸿蒙

HarmonyOS Next 中的 HAP、HAR、HSP 区别

万少

鸿蒙

大厂1000道Java高频面试题以及答案整理出来了

蓝蓝路

编程 计算机 java面试

HarmonyOS Next V2 @Event

万少

鸿蒙

HarmonyOS Next 开发的艺术 面向对象

万少

为什么你的团队会抵制变化

Bruce Talk

敏捷开发 系统思考

软件开发中 Bug 为什么不能彻底消除

爱吃小舅的鱼

bug bug管理

三文带你轻松上手鸿蒙的 AI 语音 03-文本合成声音

万少

鸿蒙

HarmonyOS Next 设计模式-单例模式

万少

鸿蒙

GitHub中文社区上的最火的Java面试八股文手册限时开源

架构师之道

编程 计算机 java面试

手把手带你实现 鸿蒙应用-键盘音乐

万少

鸿蒙

阿里巴巴Java面试权威指南(泰山版)!这细节讲解,简直神了

蓝蓝路

编程 计算机 java面试

三文带你轻松上手鸿蒙的 AI 语音 03-文本合成声音

万少

鸿蒙

2000道面试必问的Java面试八股文及答案整理(2025版)

Summer

Java 程序员 面试 架构师 大厂

2024金九银十热门考点Java面试1000题升级补录,不管面试还是跳槽都能有帮助

采菊东篱下

编程 计算机 java面试

三文带你轻松上手鸿蒙的 AI 语音 02-声音文件转文本

万少

鸿蒙

HarmonyOS Next V2 @Local 和@Param

万少

鸿蒙

HarmonyOS Next V2 状态管理@ObservedV2 基本使用

万少

鸿蒙

Java程序员春招面试宝典,结合了30多家大厂面试难点的Java面试

采菊东篱下

编程 计算机 java面试

HarmonyOS Next 如何优雅的编写注释

万少

三文带你轻松上手鸿蒙的 AI 语音 02-声音文件转文本

万少

鸿蒙

不愧是阿里巴巴内部“Java成长笔记”,差距不止一点点

架构师之道

编程 java面试

HarmonyOS Next 关于页面渲染的性能优化方案

万少

鸿蒙

HarmonyOS Next V2 状态管理 AppStorageV2 和 PersistenceV2

万少

鸿蒙

HarmonyOS Next 关于页面渲染的性能优化方案

万少

鸿蒙

Hadoop已死,Hadoop万岁_开源_Arun C Murthy_InfoQ精选文章