Hadoop for .NET Developers(一):理解Hadoop
这些年来,大数据已经成为分析业界的兴奋源头。对于这个博客系列的目的,我将松散定义这个术语指的重点是从数据核心业务系统里数据来源的扩张 - 传统商业智能的范畴 - 包含新的(不管是在历史上被忽视或新的可用)数据源。
这是一届大数据的一个粗略的简化。但它固有的与已推动通过新的数据平台。这些新的数据工作的挑战。当我们的注意力是在Hadoop的,最广泛的认可,这些新的数据平台。大数据的这样一个有限的定义似乎就够了。
Hadoop是一个弹性的。分布式的,无模式的数据处理平台。是理想的。你有大量的数据集,单记录含有少量值。如日志文件,由于它提供了一个低的投入来进行数据訪问的解决方式。这也是对须要复杂分析和解释复杂数据一个良好的平台,比如XML或JSON文档,图像文件等,和/或可能受到可变的解释,比如客户推文(在JSON文件)。
此外,当你须要大规模的可扩展性超出了能够实现与传统的关系型数据库平台,Hadoop是一个绝佳平台。话虽如此,我没有找到这最后的方案是适用于我的很多客户(尽管它是适用于一些)。对于我工作以及绝大多数的人。Hadoop的灵活性和经济性往往是来探索这个平台最有说服力的理由。
Hadoop for .NET Developers(二):基础架构
Hadoop是一组相互关联的项目组件的实现。
核心组件是MapReduce的,用于处理作业的运行,和一个储存层。通常被实现作为Hadoop分布式文件系统(HDFS)。对于这篇文章的目的,我们将假定HDFS正在使用中。
Hadoop的组件是通过一系列被称为数据(或计算)节点的server来实现。这些节点是数据被存储和处理的地方。
的名称的节点server保留在环境中的数据节点。其数据被存储哪个节点上的轨道,并提供了数据的节点为一个单一实体。
这样的神秘表示被称为一个簇。
假设你所熟悉的RDBMS实现术语集群,请注意,不一定不论什么共享存储或节点之间的其它资源。 Hadoop集群是纯粹的逻辑。