文章讲的是2017年大数据领域,这7大技术将退役,我们已经在大数据领域进行了很长时间的探险了,虽然大数据已经不再让人眼前一亮和感到新鲜,但技术的不断更新足以让你时刻关注这个领域。同时,这也是很多企业技术更新最快的领域,但还是有一些技术会长期占据靠前的位置,直到有更好的替代品出现为止。
许多技术在未来面临着很大变化,或者重大升级。以下的这些技术,你或许可以考虑替换掉了:
1、MapReduce。 MapReduce速度很慢,它很少成为解决问题的最佳方式。还有其他算法可供选择 - 最常见的是DAG,其中MapReduce可以被认为是一个子集。如果你做了一堆自定义的MapReduce作业,Spark在性能上的优势绝对值得你为了切换在Spark上运行付出的成本。
2、Storm,虽说不敢确定Spark是否占据了整个流媒体市场。但是相比于Spark而言,Apex或者Flink似乎在性能上更加优秀,有着更低的延迟,更适合作为Storm的替代品。选用工具之前,你应该先评估你能允许的延迟范围是多少以及代码的最低出错率是多少。Hortonworks作为Storm的唯一支持者,也在面临着越来越大的市场压力,未来的Storm可能不会得到太多关注。
3、Pig。Pig是一种编程语言,它简化了Hadoop常见的工作任务。Pig最大的作用就是对mapreduce算法(框架)实现了一套shell脚本 ,类似我们通常熟悉的SQL语句。但Pig现在也备受打击,似乎用它可以完成的事情,很多其他技术也可以完成。
4、Java。不仅仅是JVM,而是一门编程语言。大数据很多任务所用的语法都很笨重。而且,即便是Lambda这样较新的结构也以一种尴尬的方式被放在一边。大数据的世界中很多工作已经转移到Scala和Python上了(如果你能承受性能损失,可以使用Python库或雇佣Python开发人员)。 当然,你可以使用R语言的stats包,但最后你可能还是会用Python重写它,因为R语言缺少很多特征。
5、Tez。这是Hortonworks的另一个项目,支持DAG作业的计算框架,而其开发人员认为Tez更像是“汇编语言”。与此同时,随着Hortonworks将其发布,你就完全不需要在Hive或者其他工具之后使用它了,你可以在其发行版中使用Spark作为引擎。 虽说发行了,但Tez总是有各种bug。 同样地,这也是一个供应商项目,没有其他技术厂商或社区支持。相比其他解决方案,它似乎并没有什么优势。
6、Oozie。它不是一个单纯的工作流引擎或调度程序,它二者都是。它并不难用,与Tez相比,Tez偏底层,Oozie偏顶层,但你应该可以在StreamSets,DAG实现和其他工具之间,找到可以替代Oozie的。
7、Flume。 在StreamSets、Kafka以及其他解决方案之间,你总能找到一个足以替代Flume的。 Apache Flume是一个分布式、高可靠和高可用的收集、集合和将大量来自不同来源的日志数据移动到一个中央数据仓库。目前有两个可用的发布版本,0.9.x和1.x。但Flume是时候快速发展了,再不往前一步,就只能后退了。
可能2018年会这样......
接下来会发生什么?一些技术可能已经到年龄了,但完全合适的替代品可能还没出现。
1、Hive。Hive好像是地球上性能最差的分布式数据库。如果没有数据仓库这个概念,谁会开发这样一个东西呢?只在数据仓库的统计分析上有些用处,不适用于所有要求低延迟的任务。
2、HDFS。在Java中编写系统级服务不是最好的想法。Java的内存管理也使得推送大量的字节有点慢。HDFS NameNode的工作方式不是很理想,并构成瓶颈。各种供应商都有解决方法,但老实说,更好的工具是存在的,还有其他分布式文件系统,比如MaprFS就是一个不错的选择,还有Gluster.......
结语
总结下来,未来的Spark、Apex、Flink还有着广阔的发展前景,而Storm、Hive、HDFS等等看起来已经过时或者用处不大的技术应该从你的名单上剔除了。或者也可以看看,还有哪些值得添加到名单里的,评论告诉我。
作者:zyy
来源:IT168
原文链接:2017年大数据领域,这7大技术将退役!