Hadoop之后:实时数据的未来

简介:

在实时数据世界里,为什么我们还这么执着于Hadoop?根据451 Research调查数据显示,围绕批处理架构的Hadoop仍然是大数据的代表技术,尽管其声誉仍然超过实际部署情况。

还没有真正部署Hadoop的企业可能想要再等一等。而随着Apache Spark等其他技术(Storm、Kafka等)的出现,我们似乎与Hadoop的批处理渐行渐远,逐渐转向实时数据的未来。

批处理不是重点

Cloudera的Doug Cutting是一个非常聪明的人,也是开源开发人员,Hadoop、Lucene等大数据工具的开发都有他的功劳。

虽然Cutting承认实时流媒体技术的重要性,但他并没有否认面向批处理的Hadoop的价值,他表示:并不是因为我们觉得批处理是最好的,所以Hadoop围绕批处理而构建。批处理(特别是MapReduce)很自然是第一步,因为它相对容易部署,并提供很重要的价值。在Hadoop之前,没有办法使用开源软件在商品硬件存储和处理千兆字节。Hadoop的MapReduce是很大的进步。我们很难说清楚大数据的商品化对这个世界的重要性。这并不是说在Hadoop之前我们没有存储和分析大量数据,而是Hadoop让我们非常廉价地实现这个过程。

总之,Hadoop民主化了大数据。

转向流数据?

然而,Hadoop并没有让大数据分析变得容易。正如DataStax首席布道者Patrick McFadin表示,从企业数据挖掘价值并没有那么简单:我们都听说过存储和分析PB级数据的投资回报率的问题。谷歌、雅虎和Facebook都在从中创造惊人的价值,而大部分企业都在试图研究如何分析所有数据,第一:收集所有数据;第二:解析所有数据;第三:利润!在数据收集和利润之间有很多麻烦的步骤。随着企业试图加快对实时数据的分析能力,新技术为他们提供了可能。

McFadin发现了这个新大数据堆栈的关键要素。首先是一个排队系统,Kafka、RabbitMQ和Kinesis等。然后是流处理层,这可能包括Storm、Spark Streaming或者Samza.对于高速存储,企业经常转向Cassandra、HBase、MongoDB或者MySQL等关系型数据库。

最有趣的是批处理仍然有用武之地。McFadin表示,批处理现在可用于处理,即汇总和更深入的分析。批处理和实时的融合被称为“Lambda架构”,这涉及让三个元素和谐地共处:批处理、速度和服务。

换句话说,批处理仍然有用。

淘汰批处理

但并不是每个人都同意。Zoomdata公司首席执行官和联合创始人Justin Langseth认为Lambda是“不必要的”,并称,“现在有端到端工具可以从采购、运输、存储到分析和可视化来处理数据,而不需要批处理”。在他看来,批处理是大数据过去的遗留物:实时数据显然最好应该作为流来处理,而且还可以加载历史数据,正如你的DVR可以加载电影《飘》或者上周的电视节目《美国偶像》到你的电视。这种区别很重要,Zoomdata认为将数据作为流来分析可以增加可扩展性和灵活性,而无论数据是实时还是历史数据。

然而,超越可扩展性和灵活性好处的可能是将批处理从大数据过程移除所带来的简单性。Langseth认为,“当你不需要担心批处理窗口以及从批处理故障中恢复时,这可以极大地简化大数据架构。”

流分析取代Hadoop?

Cutting称,还没有那么快,Cutting认为未来Hadoop等技术并不会完全被淘汰,流分析会得以发展,Cloudera的Enterprise Data Hub也是一样。事实上,他不认为会广泛转向流分析,而是为大家带来了又一种选择。

更有趣的是,大数据的大爆炸会让行业催生出一些好方法来应对数据处理。

我认为我们不会再那么频繁地看到Spark这样的主要技术增加,随着时间的推移,我们将会标准化这些工具,为大多数人提供功能来满足其大数据应用需求。Hadoop带来了技术爆炸,但我们可能会进入比较正常的演化过程,在各行业广泛使用这些技术。

DataStax社区经理Scott Hirleman同意说:“批处理并不会消失,总是会需要对大量数据的大规模分析。”现在大家对流分析有极大的兴趣,但称现在还不清楚这种趋势对大数据计划的影响。

总之,流分析完全是关于“和”,而不是“或者”,这是对围绕批处理系统(例如Hadoop)的很好的补充,但这肯定不会完全取代Hadoop。
原文发布时间为:2017年8月11日

本文来自云栖社区合作伙伴至顶网,了解相关信息可以关注至顶网。

相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
相关文章
|
分布式计算 Java Hadoop
Hadoop-18 Flume HelloWorld 第一个Flume尝试!编写conf实现Source+Channel+Sink 控制台查看收集到的数据 流式收集
Hadoop-18 Flume HelloWorld 第一个Flume尝试!编写conf实现Source+Channel+Sink 控制台查看收集到的数据 流式收集
282 1
|
分布式计算 Hadoop 大数据
从Excel到Hadoop:数据规模的进化之路
从Excel到Hadoop:数据规模的进化之路
381 10
|
存储 分布式计算 Hadoop
基于Java的Hadoop文件处理系统:高效分布式数据解析与存储
本文介绍了如何借鉴Hadoop的设计思想,使用Java实现其核心功能MapReduce,解决海量数据处理问题。通过类比图书馆管理系统,详细解释了Hadoop的两大组件:HDFS(分布式文件系统)和MapReduce(分布式计算模型)。具体实现了单词统计任务,并扩展支持CSV和JSON格式的数据解析。为了提升性能,引入了Combiner减少中间数据传输,以及自定义Partitioner解决数据倾斜问题。最后总结了Hadoop在大数据处理中的重要性,鼓励Java开发者学习Hadoop以拓展技术边界。
542 7
|
数据采集 分布式计算 Hadoop
使用Hadoop MapReduce进行大规模数据爬取
使用Hadoop MapReduce进行大规模数据爬取
|
SQL 分布式计算 Hadoop
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(一)
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(一)
341 4
|
SQL 分布式计算 关系型数据库
Hadoop-21 Sqoop 数据迁移工具 简介与环境配置 云服务器 ETL工具 MySQL与Hive数据互相迁移 导入导出
Hadoop-21 Sqoop 数据迁移工具 简介与环境配置 云服务器 ETL工具 MySQL与Hive数据互相迁移 导入导出
433 3
|
SQL
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(二)
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(二)
486 2
|
分布式计算 Java Hadoop
Hadoop-30 ZooKeeper集群 JavaAPI 客户端 POM Java操作ZK 监听节点 监听数据变化 创建节点 删除节点
Hadoop-30 ZooKeeper集群 JavaAPI 客户端 POM Java操作ZK 监听节点 监听数据变化 创建节点 删除节点
310 1
|
分布式计算 Hadoop 测试技术
Hadoop格式化前备份数据
【7月更文挑战第22天】
347 7
|
分布式计算 Hadoop

相关实验场景

更多