Distributed Programming
_猪头饼_
码农,关注大数据、分布式计算
展开
-
Mesos实战总结
背景我们使用Mesos也有一段时间了,目前有两个项目使用Mesos作为底层资源管理系统,各自部了一套集群。这中间对比Mesos的论文和源码实现,到底哪些功能实现了,哪些功能未实现,版本是否稳定,使用是否顺畅,有哪些坑会遇到等等这些问题,同组的同事们都遇到了不少。大致总结一下使用过程中的感受吧。Mesos使用方式Mesos Master在给framework分配资转载 2014-06-26 11:49:28 · 1130 阅读 · 0 评论 -
Pig系统分析(5)-从Logical Plan到Physical Plan
Physical Plan生成过程优化后的逻辑执行计划被LogToPhyTranslationVisitor处理,生成物理执行计划。这是一个经典的Vistor设计模式应用场景。其中,LogToPhyTranslationVisitor的visit()为入口方法,通过DependencyOrderWalker遍历处理逻辑执行计划中的每一个LogicalRelationalOperat原创 2014-04-24 14:02:19 · 2335 阅读 · 0 评论 -
Pig系统分析(2)-Loader/Store/Schema
1 Loader/Store/SchemaPig哲学之一——Pigs Eat Anything。Pig能够从不同数据源加载数据,能够处理不同格式的数据。Pig使用Loader/Store进行数据加载和存储,可选地使用Schema指定数据列名称和类型。如果加载数据时不指定Schema,数据列未命名,类型默认是字节数组(bytearray),在后续操作中,Pig可以通过位置参数引用数据列原创 2014-04-22 21:08:59 · 2352 阅读 · 0 评论 -
Pig系统分析(8)-Pig可扩展性
本文是Pig系统分析系列中的最后一篇了,主要讨论如何扩展Pig功能,不仅介绍Pig本身提供的UDFs扩展机制,还从架构上探讨Pig扩展可能性。补充说明:前两天同事发现twitter推动的Pig On Spark项目:Spork,准备研究下。UDFs通过UDFs(用户自定义函数),可以自定义数据处理方法,扩展Pig功能。实际上,UDFS除了使用之前需要register/define外,和原创 2014-05-05 14:35:29 · 2456 阅读 · 0 评论 -
Pig系统分析(3)-从Pig Latin到Logical plan
Pig基于Antlr进行语法解析,生成逻辑执行计划。逻辑执行计划基本上与Pig Latin中的操作步骤一一对应,以DAG形式排列。以如下代码为例进行分析,包含了load、filter、join、group、foreach、count函数和stroe等常用操作。Figure5生成的逻辑执行计划如下图所示: Figure61.1 Parse过程QueryLexer原创 2014-04-23 15:30:33 · 2039 阅读 · 0 评论 -
Pig系统分析(7)-Pig实用工具类
ExplainExplain是Pig提供的调试工具,使用explain可以输出Pig Lation的执行计划。值得一提的是,explain支持-dot选项,将执行计划以DOT格式输出, (DOT是一种图形描述语言,请参考http://zh.wikipedia.org/zh/DOT%E8%AF%AD%E8%A8%80)代码实现详见org.apache.pig.impl.plan.DotPla原创 2014-05-05 11:07:38 · 1642 阅读 · 0 评论 -
翻译- O'Reilly ZooKeeper-第一章 入门
第一部分 ZooKeeper概念和基础 本部分内容介绍了ZooKeeper解决的问题以及在设计中做的妥协,对ZooKeeper感兴趣的读者都应该阅读。翻译 2014-04-21 20:14:02 · 2077 阅读 · 0 评论 -
Pig系统分析(6)-从Physical Plan到MR Plan再到Hadoop Job
从Physical plan到Map-Reduce Plan注:因为我们重点关注的是Pig On Spark针对RDD的执行计划,所以Pig物理执行计划之后的后端参考意义不大,这些部分主要分析流程,忽略实现细节。入口类MRCompiler,MRCompilier按照拓扑顺序遍历物理执行计划中的节点,将其转换为MROperator,每个MROperator都代表一个map-reduce j原创 2014-05-04 17:10:12 · 1997 阅读 · 0 评论 -
翻译- O'Reilly ZooKeeper-第二章 开始掌握ZooKeeper
前一章从较高层次讨论了我们在分布式应用协同方面的需求,以广泛应用的Master-Workers架构为例,提取出了一些常用的协同原语。在本章中,我们准备介绍使用ZooKeeper实现这些协同原语。ZooKeeper基础 一些协同原语被广泛应用于各种分布式应用。一种设计协同服务的方式是根据不同原语,对外暴露方法进行实例化,然后直接操作这些实例。比如,分布式锁就是其中之一,用户可翻译 2014-04-22 12:20:43 · 2637 阅读 · 0 评论 -
Pig系统分析(1)-概述
1 概述Apache Pig是Yahoo!为了让研究人员和工程师能够更简单处理、分析和挖掘大数据而发明的。尽管Pig的学习成本比Hive要高一些,但是Pig的优点是表达能力和灵活性更胜一筹。如果说用户使用声明式的Hive Hql表达的只是想要什么数据,那么用户使用过程式的Pig Lation,通过一连串的语句组合,能够充分控制数据分析的整个流程。本文分析了Pig运行主线流程,目的原创 2014-04-21 17:13:32 · 1929 阅读 · 0 评论 -
读书笔记-APUE第三版-(4)文件和目录
stat函数返回文件信息,本章内容围绕存储在stat结构体中的各种文件属性展开。(注:ls -l会调用stat函数,显示文件相关信息。)struct stat { mode_t st_mode; /* file type & mode (permissions) 文件类型&权限*/ ino_t st_ino; /* i-node number (serial number)原创 2014-04-25 17:38:30 · 1804 阅读 · 0 评论 -
翻译- O'Reilly ZooKeeper-第三章 ZooKeeper API入门
第三章 ZooKeeperAPI入门 前一章使用zkCli介绍了ZooKeeper的基本操作。本章开始在应用程序中使用ZooKeeper API,我们会介绍通过API创建会话和设置wather的方法,也会开始编码实现Master-Worker示例。设置ZooKeeper ClASSPATH 运行和编译ZooKeeper的Java代码都需要正确设置CLAS翻译 2014-04-24 11:57:54 · 2238 阅读 · 7 评论 -
Pig系统分析(4)-Logical Plan Optimizer
优化过程Pig哲学之二——Pigs Are Domestic Animals。用户拥有足够的控制权。具体到逻辑执行计划的优化上,用户可以根据自己情况选择适合的优化规则(也可以理解为优化这块还大有潜力可挖)。逻辑执行计划在编译成物理执行计划之前,会被LogicalPlanOptimizer处理,和一系列优化规则进行匹配,匹配上的优化规则会对原有执行计划进行变换,最终产生优化后的新执行计划。整原创 2014-04-24 12:24:56 · 1374 阅读 · 0 评论