Hadoop已死,Hadoop万岁

Posted Hadoop实操

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hadoop已死,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的商标。


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


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

以上是关于Hadoop已死,Hadoop万岁的主要内容,如果未能解决你的问题,请参考以下文章

理解yarn平台,理解万岁,肤浅理解也万岁~

Snowflake如日中天是否代表Hadoop已死?大数据体系到底是什么?

Snowflake如日中天是否代表Hadoop已死?大数据体系到底是什么?

Snowflake如日中天是否代表Hadoop已死?大数据体系到底是什么?

Hadoop 的“遗产”

Hadoop入门教程