|
我们踏上这个大数据征程已有一段时日了。一切不再依然鲜豁亮丽。实际上,一些技能大概会阻碍你的步骤。切记,大数据是企业技能行业成长最快的一个规模,快得一些软件还没有站稳脚跟,更好的技能就已扑面而来。
那些技能进级或改换至关重要,这干系到大数据项目得到乐成,照旧你在此后几年通过动作让各人原谅你的纰谬。下面是你应该开始思量改换掉的大数据架构中的一些要素。 MapReduce MapReduce速度很慢。它也很少是着手处理惩罚问题的最好要领。尚有其他算法可供选择,最常见的算法是DAG,MapReduce被认为是DAG的一个子集。假如你处理惩罚过一批自界说的MapReduce任务,就会觉察与Spark对比机能差多了,值得投入本钱和精神来改换MapReduce。 Storm 我倒不是说,Spark 会称霸数据流规模,不外它大概会,可是由于Apex和Flink之类的技能,外头有些Spark的替代方案比Storm更精彩,并且延迟更低。除此之外,你应该评估对延迟的容忍水平,你编写的那些较初级较巨大的代码中的缺陷是不是值得延迟多几毫秒。Storm并没有获得应有的支持,Hortonworks是独一真正的支持者,由于Hortonworks面对越来越大的市场压力,Storm不太大概获得更多人的存眷。 Pig Pig形势有点不妙。你可以用Spark或其他技能做Pig所做的任何工作。起初,Pig好像是一种很好的“面向大数据的PL/SQL”,但你很快发明它有点独特。 Java 不,这里说的不是Java虚拟机(JVM),而是Java这种语言。语法对大数据任务来说很粗笨。别的,像Lambda这些更新颖的构件以一种有点鸠拙的方法过后扩充上去。大数据世界已经很洪流平上迁移到了Scala和Python(假如你遭受得了机能影响,又需要Python库,可能拥有大量的Python开拓人员,就利用Python)。虽然,你可以利用R用于统计数据,直到你用Python来改写,因为R没有所有好玩的局限特征。 Tez 这是Hortonworks的另一个宠物项目。它是一种DAG实现,可是与Spark差异,Tez被个中一个开拓人员描写为像是用“汇编语言”编写。今朝,借助Hortonworks刊行版,你最后得在Hive及其他东西后头利用Tez,可是你大概已经利用Spark作为其他刊行版中的引擎。不管怎么说,Tez始终有不少缺陷。同样,这是一家厂商的项目,不像其他技能那样获得行业或社区的遍及支持。对比其他办理方案,它也没有任何压倒性的优势。这是我期望归并掉的一种引擎。 Oozie 它不是什么了不得的事情流引擎,也不是什么了不得的调治器,不外它想搞好这两者,却都搞欠好!然而,它有一大堆的软件缺陷,这款软件编写起来不应很难。面临StreamSets、DAG实现以及其他一切,你应该有的是步伐来处理惩罚Oozie处理惩罚的大部门任务。 Flume 在StreamSets、Kafka 及其他办理方案之间,你大概有Flume的替代方案。2015年5月20日宣布的这个版本看起来有点过气了。你可以跟踪阐明较上年同期的勾当强度。很多人离它远去,也许是该翻篇的时候了。 也许到2018年…… 还剩下什么?一些技能日渐老朽,可是完全切实可行的替代方案还没有问世。不妨事先想想改换掉这些技能: Hive 有点过于吹毛求疵了,可是Hive比如是市面上机能最低下的漫衍式数据库。要是我们整个行业没有认定干系数据库打点系统(RDBMS)是自切单方面包以来这40年来最精彩的技能,那么我们果然会开拓出这种怪兽? HDFS 用Java编写一种系统级处事不是最好的想法。Java的内存打点也使得传送大量字节有点慢。HDFS NameNode的事情方法对任何任务来说不是很抱负,造成了瓶颈。各家厂商拿出了变通要领,改进这种环境,可是坦率地说,市面上有更好的技能。尚有其他漫衍式文件系统。MaprFS就是一种设计相当精彩的漫衍式文件系统。尚有Gluster及别的一批文件系统。 |















