摘要: Sawzall Sawzall可以被认为是构建在MapReduce之上的采用类似Java语法的DSL(Domain-Specific Language),也可以认为它是分布式的AWK。它主要用于对大规模分布式数据进行筛选和聚合等高级数据处理操作,在实现方面,是通过解释器将其转化为相对应的MapReduce任务。除了Google的Sawzall之外,yahoo推出了相似的Pig语言,但其语法类似于SQL。 分布式数据库技术 BigTable 由于在Google的数据中心存储PB级以上的非关系型数据时候,比如网页和地理数据等,为了更好地存储和利用这些数据,Google开发了一套数据库系统,名为&q 阅读全文
posted @ 2014-04-07 09:58 www463nanrencom 阅读(359) 评论(0) 推荐(0) 编辑
摘要: Protocol Buffer Protocol Buffer,是Google内部使用一种语言中立、平台中立和可扩展的序列化结构化数据的方式,并提供 Java、C++ 和 Python 这三种语言的实现,每一种实现都包含了相应语言的编译器以及库文件,而且它是一种二进制的格式,所以其速度是使用 XML 进行数据交换的10倍左右。它主要用于两个方面:其一是RPC通信,它可用于分布式应用之间或者异构环境下的通信。其二是数据存储方面,因为它自描述,而且压缩很方便,所以可用于对数据进行持久化,比如存储日志信息,并可被Map Reduce程序处理。与Protocol Buffer比较类似的产品还有Fac. 阅读全文
posted @ 2014-04-07 09:57 www463nanrencom 阅读(312) 评论(0) 推荐(0) 编辑
摘要: 大文件和大数据块:数据文件的大小普遍在GB级别,而且其每个数据块默认大小为64MB,这样做的好处是减少了元数据的大小,能使Master节点能够非常方便地将元数据放置在内存中以提升访问效率。 操作以添加为主:因为文件很少被删减或者覆盖,通常只是进行添加或者读取操作,这样能充分考虑到硬盘线性吞吐量大和随机读写慢的特点。 支持容错:首先,虽然当时为了设计方便,采用了单Master的方案,但是整个系统会保证每个Master都会有其相对应的复制品,以便于在Master节点出现问题时进行切换。其次,在Chunk层,GFS已经在设计上将节点失败视为常态,所以能非常好地处理Chunk节点失效的问题。 高吞吐. 阅读全文
posted @ 2014-04-07 09:56 www463nanrencom 阅读(618) 评论(0) 推荐(0) 编辑
摘要: 本系列文章基于公开资料对Google App Engine的实现机制这个话题进行深度探讨。在切入Google App Engine之前,首先会对Google的核心技术和其整体架构进行分析,以帮助大家之后更好地理解Google App Engine的实现。 本篇将主要介绍Google的十个核心技术,而且可以分为四大类: 分布式基础设施:GFS、Chubby 和 Protocol Buffer。 分布式大规模数据处理:MapReduce 和 Sawzall。 分布式数据库技术:BigTable 和数据库 Sharding。 数据中心优化技术:数据中心高温化、12V电池和服务器整合。 分布式基础设. 阅读全文
posted @ 2014-04-07 09:55 www463nanrencom 阅读(617) 评论(0) 推荐(0) 编辑
摘要: HIVE是什么 来自度娘百科的解释:hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。 简单来说,就是用QL这种语言的方式来完成MapReduce程序的工作,由于大多数程序员都会写基于关系型数据库的SQL,那么HIVE的出现也就将Hadoop上的开发降低了很多门槛。 Hive常见的参数 io.sort.mb设置数据缓冲区... 阅读全文
posted @ 2014-04-04 11:55 www463nanrencom 阅读(5108) 评论(0) 推荐(0) 编辑
摘要: 如何快速的将hadoop上海量的数据快速的以可视化的方式展示给用户,很多传统的数据仓库或者OLAP在处理这种场景也是各种方式。我们这里数据平台采用了一种特殊的方式, 大大简化了数据产出的难度,提高了数据开发的成本。 核心模块 下图是常见的离线计算的数据流向图: 这种大数据处理的框架的好处是隔离性好,数据存储在应用的关系型数据库之后,查询性能较好,在关系型数据库上建立索引,就能够很容易满足大部分查询情况。 我们团队在开发数据分析平台的时候,利用MYSQL采用了一种创新型的数据存储方式,并在此基础上形成了一套完整的数据交换,数据存储,以及数据服务。 其整体架构图如下: 其... 阅读全文
posted @ 2014-04-04 11:53 www463nanrencom 阅读(1594) 评论(0) 推荐(0) 编辑
摘要: Spring与策略模式 一:策略模式的定义 策略模式是对算法的包装,把使用算法的责任和算法本身分隔开,委派给不同的对象管理。策略模式通常把一系列的算法包装到一系列的策略类里面,作为一个抽象策略类的子类。 其类图如下: 如果是要用JAVA类来实现的策略模式,其源代码如下: Java代码 /** * * 策略执行 * @author weique.lqf * @version $Id: Context.java, v 0.1 2014-2-9 下午2:32:56 weique.lqf Exp $ */ public class Context { privat... 阅读全文
posted @ 2014-04-04 11:52 www463nanrencom 阅读(1805) 评论(0) 推荐(0) 编辑