从Physical plan到Map-Reduce Plan
注:因为我们重点关注的是Pig On Spark针对RDD的执行计划,所以Pig物理执行计划之后的后端参考意义不大,这些部分主要分析流程,忽略实现细节。
入口类MRCompiler,MRCompilier按照拓扑顺序遍历物理执行计划中的节点,将其转换为MROperator,每个MROperator都代表一个map-reduce
j...
分类:
其他好文 时间:
2014-05-10 08:46:07
阅读次数:
366
1、Clone Graph
Clone an undirected graph. Each node in the graph contains a label and
a list of its neighbors.
OJ's undirected graph serialization:
Nodes are labeled uniquely.
We use # as...
分类:
其他好文 时间:
2014-05-09 02:17:58
阅读次数:
336
本文通过跟代码的方式,分析从输入一批Pig-latin到输出物理执行计划(与launcher引擎有关,一般是MR执行计划,也可以是Spark RDD的执行算子)的整体流程。
不会具体涉及AST如何解析、如何使用了Anltr、逻辑执行计划如何映射、逻辑执行计划如何优化、MR执行计划如何切分为MR Job,而是从输入一批Pig DSL到待执行的真正执行计划的关键变化步骤(方法和类)。...
分类:
其他好文 时间:
2014-05-08 04:00:42
阅读次数:
407
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1513解题报告:给定一个长度为n的字符串,在这个字符串中插入最少的字符使得这个字符串成为回文串,求这个最少的个数是多少?一开始以为只是一个普通的DP题,但是按照我的想法敲出来之后怎么样都W了,无奈搜了解题...
分类:
其他好文 时间:
2014-05-07 14:03:18
阅读次数:
293
这道题还挺复杂的,回来看了好一会儿才想起当时怎么想的。。上道题刚说不要打表,这道题就用了打表。。
总的思路是这样的,从后面往前面打表,最后一个位置的最小分割一定是0,那往前呢,如果当前考虑的位置是start,并且substr(s, i)是回文的,那么如果已知i+1开始的分割次数,那么start这个位置的分割应该就是start原来的和i+1开始的分割次数加1之间的最小值。DP的思想,很直接。
但...
分类:
其他好文 时间:
2014-05-07 07:37:39
阅读次数:
307
Explain
Explain是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-07 06:03:35
阅读次数:
350
本文是Pig系统分析系列中的最后一篇了,主要讨论如何扩展Pig功能,不仅介绍Pig本身提供的UDFs扩展机制,还从架构上探讨Pig扩展可能性。
补充说明:前两天同事发现twitter推动的Pig On Spark项目:Spork,准备研究下。
UDFs
通过UDFs(用户自定义函数),可以自定义数据处理方法,扩展Pig功能。实际上,UDFS除了使用之前需要register/define外,和...
分类:
其他好文 时间:
2014-05-07 05:10:44
阅读次数:
567
pig wordcount analysis...
分类:
其他好文 时间:
2014-05-07 04:39:27
阅读次数:
270
尝试用两头分别比较的方法,结果发现无法解决1000021这种问题 1 public class
Solution { 2 public boolean isPalindrome(int x) { 3 if(x= 10) { 6 div *= 10;
7...
分类:
其他好文 时间:
2014-05-06 10:39:40
阅读次数:
241
Multi-Query Execution
With multi-query execution Pig processes an entire script or a batch of statements at once....
分类:
其他好文 时间:
2014-05-04 17:52:35
阅读次数:
336