导读:近期Hadoop消息不断,众说纷纭。本文以Hadoop的盛衰变化为楔子聊下大数据分析的发展现状和未来趋势。

作者:姚延栋
来源:数字化三部曲(ID:digitxcn)

00 15秒钟简缩版
Hadoop:
  1. 巅峰已过,正在成为遗留系统
  2. Hadoop和分布式数据库在同一个赛道上,Hadoop在这个赛道上目前并无优势
大数据:
  1. 大数据市场是 SQL市场,是分布式数据库市场
  2. 基础分析如BI、交互查询等技术已经成熟
  3. 高级分析(机器学习)下沉,向数据库内嵌分析方向发展
  4. 高级分析(机器学习)主要问题不在分析而在数据本身
01 Hadoop 巅峰已过几多年,正在成为遗留系统
自2015年开始Hadoop暴露出诸多问题引起注意。随后Gartner、IDG等公司分析师、Hadoop用户和Hadoop和大数据圈内人士越来越多的反映出各种问题。
究其原因,主要如下:
  • Hadoop 栈过于复杂,组件众多,集成困难,玩转代价过高
  • Hadoop 创新速度不够(或者说起点过低),且缺乏统一的理念和管控,使得其众多组件之间的集成非常复杂
  • 受到Cloud技术的冲击,特别是类S3对象存储提供了比HDFS更廉价、更易用、更可伸缩的存储,撬动了Hadoop的根基HDFS
  • 对 Hadoop 期望过高,Hadoop发迹于廉价存储和批处理,而人们期望Hadoop搞定大数据所有问题,期望不匹配造成满意度很低
  • 人才昂贵,且人才匮乏
Hadoop 巅峰已过成为行业事实,本文不打算在这个问题上继续论证。有兴趣的读者可以参考网上的诸多评论,甄选了一些笔者觉得有参考价值或沾边的文章罗列如下(从标题可以感觉到浓厚的萧瑟之气):
  • Hadoop还有没有前途?Hadoop发展历史和未来方向解读
  • Hadoop 气数已尽:逃离复杂性,拥抱云计算
  • 超越云计算:对数据库管理系统未来的思考
  • Big Data Is Still Hard. Here’s Why
  • Big Data Will Get By (but>
    Cloudera and Hortonworks merger means Hadoop’s influence is declining
  • From data ingestion to insight prediction: Google Cloud smart analytics accelerates your business transformation
  • Hadoop is Dead. Long live Hadoop (中文翻译:Hadoop已死,Hadoop万岁)
  • Hadoop Has Failed Us, Tech Experts Say
  • Hadoop Past, Present, and Future
  • Hadoop: Past, present and future(又一个)
  • Hadoop runs out of gas
  • Hadoop Struggles and BI Deals: What’s Going On?
  • Hitting the Reset Button>
    Is Hadoop officially dead
  • Mike Olson>
    More turbulence is coming to the big-data analytics market in 2019
  • Object and Scale-Out File Systems Fill Hadoop Storage Void
  • The Decline of HADOOP and Ushering An Era of Cloud
  • The elephant’s dilemma: What does the future of databases really look like?
  • The Future of Database Management Systems is Cloud!
  • The history of Hadoop
  • Why is Hadoop dying?

Ok,如果你和我一样,把上面所有文章都读了一个遍,说明你确实对这个问题很感兴趣。发邮件给我(yyao@pivotal.io),请你喝酒细聊。
Hadoop 是否还能重振雄风?Hadoop 若要重回大数据的中心,需要的是信心和时间,然而现在 Hadoop 最缺的恰恰是信心和时间。
业界已经给了 Hadoop 十多年的时间,不管什么原因,Hadoop 没有很好的解决大数据的问题,甚至没有很好的解决大数据的基本问题。人们很难相信再给它十年时间就可以搞定。
随着问题暴露面越来越广,业界对 Hadoop 的信心逐渐大幅下滑。同样紧要的是,和十多年前没有选择不同,现在业界有多种大数据方案(特别是开源方案)可供选择。
然而这并不意味着 Hadoop 会消失,经过十多年的发展,现在全球部署有很多 Hadoop 集群,这些遗留资产及其衍生需求会持续相当一段时间。
Hadoop 的根基 HDFS 受到对象存储挑战,在公有云上已经败下阵来,在企业内部暂时会保住守势,然而随着云厂商进入企业级市场,很快也会面临极大挑战。Hadoop 也在向对象存储发展,将来或许有望成为多种对象存储解决方案中的一个候选项,然而可以肯定的是Hadoop不再是讨论的中心。
HortonWorks 联合创始人、CPO,现任Cloudera CPO Arun C Murthy于2019年9月10日发文表示:
The old way of thinking about Hadoop is dead — done, and dusted. Hadoop as a philosophy to drive an ever-evolving ecosystem of open source technologies and open data standards that empower people to turn data into insights is alive and enduring. 
译文:你所认为的传统的Hadoop已经死了,确实如此。但Hadoop作为一门哲学,推动不断发展的开源技术生态系统和开放数据标准,使人们能够将数据转化为洞察力,这门哲学是充满活力和持久的。
——Arun C Murthy
“形而上者谓之道,形而下者谓之器”。无器以为载体,则坐而论道。
02 Hadoop 市场是数据仓库市场,然而在这个市场里目前并不占优势
首先捋一下Hadoop 几个主要组件的发展脉络。

  • Apache Nutch是Hadoop一哥Doug Cutting 写的开源网页爬虫。为了存储海量网页,Nutch需要一个分布式存储层。受Google GFS论文的启发,Doug 设计了一个开源GFS实现,成为后来的 HDFS。相比于当时昂贵的磁盘阵列和SAN,HDFS提供了廉价、高可靠且可扩展的存储;
  • 分布式存储层解决后,Nutch需要能适应分布式环境的并行计算模型。受Google MapReduce 论文的启发,Doug 设计了开源版的MapReduce。HDFS和MapReduce解决了大数据的存储和计算问题,受到当时受困于大数据问题的大型互联网公司的追捧,很快 Hadoop 吸引了大量的开发者,成为 Apache 顶级项目;
  • Hadoop解决了有无问题。很快人们发现MapReduce复杂度很高,即使技术实力强大如Facebook都很难写出高效正确的MapReduce程序。此外除了解决批处理问题,人们需要Hadoop能解决其遇到的交互式查询任务。为此,Facebook 开发了Hive,该项目快速流行起来,到现在还有很多用户。Facebook当时更是高达95%的用户使用Hive而不是裸写MapReduce程序。
  • 由于Hadoop 不是为交互式处理而设计,Hive 效率低,并发度也低。此外Hive不支持标准SQL,使得和其他产品的集成困难重重。为此Cloudera开发了Impala。Impala 实际上是一款分布式 MPP(大规模并行处理) 数据库。
从上面的发展脉络可以清楚的看出,Hadoop 从分布式存储和并行计算模型开始,逐渐发展成了MPP数据库,而MPP数据库做为成熟数据仓库解决方案已经发展了三十多年。可见Hadoop市场主要是SQL市场。
然而Hadoop和其他经典MPP数据库相比,从性能、SQL兼容性、扩展性等各个方面来看,Hive、Impala等并不占优势。Gartner 2019年发布的数据分析市场排名,Hadoop 三大发行商排名都在十名以外(前三名是 Teradata、Oracle和Greenplum)。

从市场角度也印证了这一说法:Cloudera 官方表示其收入的75%来自于 SQL产品。最近(2019年9月4日)Cloudera宣布收购AI驱动的云原生BI厂商Arcadia Data,印证了Hadoop市场领头羊Cloudera发力的发展方向。上文中提到的Cloudera CPO也公开指出:
For several years now, Cloudera has stopped marketing itself as a Hadoop company, but instead as an enterprise data company.
03 大数据分析市场当前是 SQL 市场
大数据分析包括两个层面,第一个层面是基本分析,第二个层面是高级分析。
基本分析层面涉及的主要应用和场景为 BI、交互查询、可视化等场景。这些场景使用的主流核心技术是 SQL,BI等产品的基本玩法是 SQL+图形用户界面(UI)。和此相关的主要SQL特性是分组(group by)和聚集(aggregation)、窗口(window)函数、数据立方格(Cube)等。
这些SQL功能背后的主要计算基本都是小学数学中的加减乘除,看起来高大上的“大数据分析”大都是些小学数学的东西,当然对海量数据进行这些分组加减乘除且保证ACID特性是很有挑战性的。诸如 Greenplum、Vertica 之类的分布式MPP 数据库已经很好的解决了这些问题。
高级分析层面涉及到诸如机器学习、模式识别、AI等复杂算法的采用。目前这一层面有下沉到数据库内部的趋势。Apache MADLib 是最早引领这一趋势的成熟商业产品。2017年谷歌发布了BigQuery ML亦是基于SQL的高级分析方案。对此感兴趣的请参见数据库内建分析介绍一文。
从大数据分析的两个层面来看,其核心均为 SQL。
注:对更多这方面信息感兴趣,以及对数据处理平台演进历史和其原动力感兴趣的朋友,可参考Greenplum中文社区资料下载页面的《2.数据处理平台之演进》和《3.大数据≈分布式数据库》。

04 高级数据分析之难点不在分析而在数据本身
如果你有足够多整洁的数据,那么高级数据分析对你而言不是问题。
这里“足够多”不一定意味着PB级海量数据,仅指可以满足需求的数据量,不同场景需求不同,从MB到GB到PB级不等。高级数据分析不一定需要大数据,现在还广为使用的商业分析产品如SAS、SPSS都是单节点的,可处理数据量大不到那里去。
大量的研究也证明,即使所用算法不变,数据量越大,模型的精度也会更好,结果准确度也越好。因而尽量使用更多数据,使用全量数据而不是抽样成为提升精度的首要手段。
“整洁”意味着数据是标准的、准确的。然而现实却远非如此。不准确的数据会造成高级分析结果的严重偏差。
数据工程师和数据科学家面临着数据发现、数据集成和数据清洗等大量复杂问题。为了解决这些问题,数据科学家需要花费大量时间去整理数据而不是分析数据。大量报道表明,数据科学家花费至少70%以上的时间进行数据发现、集成和清洗工作。
iRobot上一位数据科学家甚至表示:“我90%的时间用于发现和清洗数据,剩余10%时间中的90%用于纠正清洗过程中的错误”。这或许有些夸张,然而数据库科学家的主要工作内容可见一斑。如何提高数据工作者这方面的效率是目前国内外非常活跃的投资领域。
05 总结
综上,作为第一代大数据方案的Hadoop巅峰已过,大数据进入第二代:分布式数据库。
分布式数据库特别是 MPP 数据库已经很好的解决了大数据基本分析层面的问题,未来持续向着更易用更快的方向发展。
高级数据分析向着下沉到数据库内部的方向发展。高级数据分析层面的难点不在分析,而在于数据本身的数量和质量。期待这一方面有更多创新涌现。
关于作者:姚延栋,山东大学本科,中科院软件所研究生,Greenplum 研发总监。PostgreSQL中文社区委员,Greenplum 中文社区发起人。致力于Greenplum/PostgreSQL开源数据库产品、社区和生态的发展。

延伸阅读《Greenplum:从大数据战略到实现》

推荐语:本书由Greenplum核心研发团队精心编写,融入了团队十余年来对云计算、大数据和人工智能驱动的企业数字化转型、先进技术发展趋势以及产品研发的深刻思考,对Greenplum这款快速成长的开源大数据平台进行了全方位深度解读,无论是企业决策者,还是大数据相关的技术人员,都能从本书中获益。

有话要说?
Q:Hadoop还有前途吗?
欢迎留言与大家分享
猜你想看?
更多精彩?
在公众号对话框输入以下关键词
查看更多优质内容!
PPT报告读书书单干货 
大数据揭秘Python可视化
AI人工智能5G中台
机器学习深度学习神经网络
合伙人 1024段子数学

据统计,99%的大咖都完成了这个神操作
?
觉得不错,请把这篇文章分享给你的朋友
转载 / 投稿请联系:baiyu@hzbook.com
更多精彩,请在后台点击“历史文章”查看
点击阅读原文,了解更多

Hadoop怎么了,大数据路在何方?相关推荐

  1. mega x_[MEGA DEAL]通过Hadoop Bundle掌握大数据(91%的折扣)

    mega x 通过44个小时的广泛Hadoop培训来驯服海量数据集 嘿,怪胎, 本周,在我们的JCG Deals商店中 ,我们提供了另一个超值优惠 . 通过Hadoop Bundle,我们可以提供91 ...

  2. 专访童小军:Hadoop是未来大数据的标准

    2013年11月22-23日,作为国内唯一专注于Hadoop技术与应用分享的大规模行业盛会,2013 Hadoop中国技术峰会(China Hadoop Summit 2013)将于北京福朋喜来登集团 ...

  3. 二、大数据技术之Hadoop --从Hadoop框架讨论大数据生态

    目录 1.从Hadoop框架讨论大数据生态 1.1 Hadoop是什么 1.2 Hadoop发展历史 1.3 Hadoop三大发行版本 1.3.1 Apache Hadoop 1.3.2 Cloude ...

  4. 《Python Spark 2.0 Hadoop机器学习与大数据实战_林大贵(著)》pdf

    <Python+Spark 2.0+Hadoop机器学习与大数据实战> 五星好评+强烈推荐的一本书,虽然内容可能没有很深入,但作者非常用心的把每一步操作详细的列出来并给出说明,让我们跟着做 ...

  5. Hadoop集群大数据解决方案之MapReduce 程序实战进阶(自定义partitionsortgroup)(六)

    准 备   在上一篇博客举了个简单的word count,重在说明mapreduce的流程,但是针对mapreduce的编程,程序员能控制的,远远不止map和reduce,还有诸如partition, ...

  6. spark python教程_Python Spark 2.0 Hadoop机器学习与大数据实战 完整pdf_IT教程网

    资源名称:Python Spark 2.0 Hadoop机器学习与大数据实战 完整pdf 第1章 Python Spark机器学习与Hadoop大数据 1 第2章 VirtualBox虚拟机软件的安装 ...

  7. SQL on Hadoop在快手大数据平台的实践与优化 | 分享实录

    快手大数据架构工程师钟靓 本文是根据快手大数据架构工程师钟靓于 5月18-19日在A2M人工智能与机器学习创新峰会<SQL on Hadoop在快手大数据平台的实践与优化>演讲中的分享内容 ...

  8. 从Hadoop框架讨论大数据生态

    文章目录 从Hadoop框架讨论大数据生态 Hadoop 是什么(一是) Hadoop发展史(二知) Hadoop三大版本(三版) Hadoop的优势(4高) Hadoop的组成(关于吾的自身) Ha ...

  9. “后 Hadoop 时代”,大数据从业者如何应对新技术趋势带来的挑战?

    作者 | 蔡芳芳 采访嘉宾 | 刘京娟.贾扬清.王峰 作为开源大数据项目的发端,Hadoop 兴起至今已经超过十五年.在过去这十数年里,开源大数据领域飞速发展,我们见证了多元化技术的兴起和变迁. 为了 ...

最新文章

  1. ArrayList add(int index,E element)
  2. Linux Kernel中的同步机制的介绍
  3. nginx文件服务器修改根目录,nginx修改配置文件更改网站根目录无效?
  4. Spring MVC 基于URL的拦截和映射规则
  5. django 按天水平分表并插入数据
  6. keyCode键码值对照表
  7. java仔_Java基础语法吐血整理
  8. 数字电视发射机行业调研报告 - 市场现状分析与发展前景预测
  9. 微型计算机常常采用三种线结构,2016年河海大学929地理信息系统之地理信息系统概论考研复试题库...
  10. 电气工程计算机网络基础知识大全,2018年注册电气工程师考试(电气与信息技术公共基础)知识点复习:计算机基础[网络体系结构与协议]...
  11. ARTPI(STM32H750XBH) + ALIENTEK 7‘ RGB TFTLCD + LVGL8.2.0成功
  12. 阿里巴巴高级算法专家威视:组建技术团队的一些思考
  13. keil中断函数的写法_keil中怎样定义外部中断函数原型?
  14. 科技大停滞--过去已逝,未来未来
  15. python高德地图api调用实例_Python玩转高德地图API(二)
  16. docker实现nginx反向代理、负载均衡
  17. iOS 3DTouch 代码实现
  18. java定义一个eat方法_Java继承概念详细解读
  19. Python遍历目录下的文件(os.walk 、os.listdir的用法)
  20. matlab random 均匀分布,Matlab 的随机函数(高斯分布 均匀分布 其它分布)

热门文章

  1. RabbitMQ笔记-使用rabbitmq-c实现Fair dispatch(公平分发)
  2. Spring Boot笔记-echarts的使用及数据的修改
  3. C++ STL string的构造函数
  4. c form画直线_新手教程跟我一起画儿童裤子裁剪图
  5. 单值二叉树:如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。 只有给定的树是单值二叉树时,才返回 true;否则返回 false。
  6. Jenkins-CI 远程代码执行漏洞复现(CVE-2017-1000353)
  7. msf:Known bug in WMI query, try migrating to another process
  8. yum提示Another app is currently holding the yum lock; waiting for it to exit...
  9. Python 16进制与字符串的转换、二进制 to 十进制、十六进制 to 十进制、十进制 to 二进制
  10. Python subprocess.Popen 实时输出 stdout(正确管道写法)