从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.工厂模式:及时由一个工厂类根据传入的参数决定生产那种产品类function
createPerson(name,age,job){ var o = new Object(); o.name = name; o.age = age;
o.job = job; o.sayName = functio...
分类:
编程语言 时间:
2014-05-10 02:11:47
阅读次数:
423
public class SyncMetadataJob:SPJobDefinition {
private const string JobName = @"Metadata Sync Job"; private int counter = 0;
...
分类:
其他好文 时间:
2014-05-08 22:30:30
阅读次数:
319
Video Surveillance
Time Limit: 1000MS
Memory Limit: 10000K
Total Submissions: 3145
Accepted: 1391
Description
A friend of yours has taken the job of security officer at...
分类:
其他好文 时间:
2014-05-07 06:49:43
阅读次数:
387
本文是Pig系统分析系列中的最后一篇了,主要讨论如何扩展Pig功能,不仅介绍Pig本身提供的UDFs扩展机制,还从架构上探讨Pig扩展可能性。
补充说明:前两天同事发现twitter推动的Pig On Spark项目:Spork,准备研究下。
UDFs
通过UDFs(用户自定义函数),可以自定义数据处理方法,扩展Pig功能。实际上,UDFS除了使用之前需要register/define外,和...
分类:
其他好文 时间:
2014-05-07 05:10:44
阅读次数:
567
在项目数据库设计过程中由于单表的数据量非常庞大,需要对表进行分区处理。由于表中的数据是历史交易,故按月分区,提升查询和管理。
由于之前对于表分区了解不多,为了实现上述功能查了很多资料,一开始的方向是通过Crontab调用Shell脚本来按月自动创建分区,或者使用Oracle的Job调用存储过程来自动创建分区。在研究上述两套方案的过程中,无意发现Oracle11g有间隔分区功能,对于使用Ran...
分类:
数据库 时间:
2014-05-07 02:51:26
阅读次数:
350
封装了一个基于C++11的线程池对象。
异步执行的任务,从线程池中分配一个空闲的线程来执行该任务.
如果没有空闲的线程可以执行,则进入队列排队
task_pool_init(10);
for( int i = 0 ; i < 200 ; i ++ )
{
run_job([i]{
std::this_thread::sleep_for(std::chrono::seconds(1));
});
}
...........................
...
分类:
编程语言 时间:
2014-05-06 23:16:37
阅读次数:
378
之前在写MR
job的时候,由于要在云梯,或者一淘的开发集群上运行;所以处理方法是,在本地打成jar包,然后scp到客户端网关机上,然后在提交job运行。这样的问题时,有时候如果遇到一些逻辑上的问题,job跑挂了。必须在本地修改程序,然后重新打包,scp,再运行,这样比较麻烦;询问了一圈,觉得采用M...
分类:
其他好文 时间:
2014-05-04 10:54:29
阅读次数:
427
MapReduce
job中,可以使用FileInputFormat和FileOutputFormat来对输入路径和输出路径来进行设置。在输出目录中,框架自己会自动对输出文件进行命名和组织,如:part-(m|r)-00000之类。但有时为了后续流程的方便,我们常需要对输出结果进行一定的分类和组织。...
分类:
其他好文 时间:
2014-05-04 10:22:15
阅读次数:
341
Spark中的Scheduler
scheduler分成两个类型,一个是TaskScheduler与其实现,一个是DAGScheduler。
TaskScheduler:主要负责各stage中传入的task的执行与调度。
DAGScheduler:主要负责对JOB中的各种依赖进行解析,根据RDD的依赖生成stage并通知TaskScheduler执行。
实例生成
TaskSchedule...
分类:
其他好文 时间:
2014-05-04 09:08:02
阅读次数:
379