Hadoop的探索历程
来源:互联网 发布:软件建设方案 编辑:程序博客网 时间:2024/05/14 14:04
在当下的云计算领域,数据的存储和处理模型作为整体的基石,所以想在云计算中不迷失方向,摸着这些基石,按石索骥。
Hadoop本身内置的几个重要基石:
HDFS:提供分布式文件系统:提供系统文件级别的抽象和封装,主从模式的架构,API接口,对应的文件的管理和监控体系。
MapReduce:构建在HDFS之上,当然也可以推广到更加广泛的分布式存储平台上的并行计算模型,以Key-Value作为数据模型,通过Mapper,Reducer阶段,以及内置的Shuffle阶段;在这个模型至少,教育领域已经进行深层次研究和验证,并且在此基础上,进一步将其他相关领域的计算模型可以迁移到MapReduce的模型;
比如:完成矩阵、向量的运算、关系代数的运算
在传统的关系数据库领域,诸如选择、投影、集合运算(并、交、差、自然连接)等
进一步推演到OLAP领域的计算模型,分组、聚合运算,矩阵计算
在企业管理软件领域的工作流系统的计算模型,以及类似图形计算模型的实现机制,都能够在MapReduce计算模型上找到类似的解决方法。
Avro:试想一下,怎么样的数据模型,才能够在大量的并行计算集群中高效的被处理? 数据的模型至少包括两大类:数据的Shema区域、数据区域;通常情况下,一个数据模型这两个部分或者是分离、或者是需要特定的软件才能够识别;将数据模型的模式和数据在同一个序列化中实体中解决,从而可以让任何语言可以处理。JSON和XML都提供了可靠的数据存储;而JSON级别是看不到数据的Schem的;而XML文件的Schema需要xsd来定义;JSON在Web领域应用非常广泛,XML同样扮演很重要的角色。
Zookeeper:分布式存储和计算模型,需要大量的主、从节点来并行运行,对这些多个节点的管理工作是一个棘手的问题,一份数据的多个分割存储、一个任务的并行拆分,都需要可靠的事务和锁管理来支持,内部隐藏了并发编程的细节和可能难以控制的问题。试想如果自己来实现这些功能,需要涉及的技术难题就够忙活的。
在此上述的4大基石的基础上,有能力的就可以编写任意的支持并行处理和计算的产品,而业界针对数据的处理最有影响力的几个方面:
a:数据库领域
大量的基于类似MapReduce计算模型的产品,将SQL作为对外的规范,利用HDFS作为存储实体,以MapReduce作为计算操作实现类似SQL的DDL,DML,数据分析和数据的ETL过程;
b:数据挖掘和数据仓库领域
在基于关系数据库的数据挖掘的产品,已经积累了多年的挖掘模型、算法、工具等;而在Hadoop所提供的一系列工具后,这些厂商肯定捷足先登;如果没有从事该领域的,进入该领域的难度会更大;很简单数据分析工具方面:Oracle,IBM,SAS,Tibco,SAP等的诸多产品,都在不断尝试这方面的新产品。
c:互联网领域的大数据应用
搜索引擎、社交网络、互联网广告、消费客户趋势分析、用户推荐;这些通过Hadoop的基础平台来实现,无疑可以寻找到更多可用的资源。
Pig,Mahout分别在并行计算和机器学习算法领域提供了丰富的算法模型库。
比如:Pig的Pig Latin语言、丰富的用户定义函数库Pbank等提供了大量原始的可重用基础模块。
Mahout: 提供了一系列的算法库:
另外对大规模数据的计算模型还有两类处理模型:
Dremel为代表的类似SQL的实时交互性计算模型,追随者Impala和Drill已经提供了业界的开源实现;
Stream流式计算模型的CEP的云时代的,StreamBase,Storm,S4,Spark都是可以值得借鉴的他山之石
当然时刻还需要有变化的眼光,将这些融合在一起,来实现核心价值
- Hadoop的探索历程
- freetype显示仿宋_GB2312 的探索历程
- 探索iptables BPF模块的悲惨历程
- 移动终端播放器的探索历程
- 编译和管理live555源码的探索历程
- 有关AppCompatActivity透明化处理的失败探索历程
- 我的前端之路(技术探索历程一)
- hadoop编程历程 01
- hadoop编程历程 02
- 正式运维女的成长历程——hadoop学习
- <hadoop学习历程>--笔记心得5-HDFS的特点
- 记录我的hadoop学习历程2--运行 wordcount
- 可伸缩性的10年探索:知名网站的技术发展历程
- (转)可伸缩性的10年探索:知名网站的技术发展历程
- 可伸缩性的10年探索:知名网站的技术发展历程
- 可伸缩性的10年探索:知名网站的技术发展历程
- 与abas ERP共同探索移动手机应用的发展历程
- 如何探索一门未知领域新技术?看腾讯前端高级工程师的学习历程
- MFC 自绘按钮的实现
- CSS width属性
- javamail的Demo,使用发送邮件
- Uva 1514 && spoj 9890 拆点匹配L模板 + 时间戳优化
- MFC Button控件的背景色
- Hadoop的探索历程
- uva11205 生成子集
- Python入门学习 :)
- 第八章(对话框2)
- 对事故发生同样对不合格的
- gridview分页
- 个曙色体验效果还是个想撒个谎
- 详细分析make uboot 最后的编译链接的具体执行过程
- javascript 里面如何调用action中request对象传过来的参数