从Physical plan到Map-Reduce Plan
注:因为我们重点关注的是Pig On Spark针对RDD的执行计划,所以Pig物理执行计划之后的后端参考意义不大,这些部分主要分析流程,忽略实现细节。
入口类MRCompiler,MRCompilier按照拓扑顺序遍历物理执行计划中的节点,将其转换为MROperator,每个MROperator都代表一个map-reduce
j...
分类:
其他好文 时间:
2014-05-10 08:46:07
阅读次数:
366
需求描述考虑直接在Hive或者Impala等Big
Data方案,能够支持MDX查询,现调研一下Mondrian对hive的支持情况。环境准备hive环境,采用hive-0.10-cdh4.2.1
客户端程序使用的类库:mondrian-3.6.0、olap4j-1.2.0-SNAPSHOT数据准备...
分类:
其他好文 时间:
2014-05-09 18:15:58
阅读次数:
494
源表(table1)数据{A:string B:array C:string}A B C190
[1030,1031,1032,1033,1190] select id191 [1030,1031,1032,1033,1190] select
id希望的结果是:190 1030 select id1...
分类:
其他好文 时间:
2014-05-08 14:19:57
阅读次数:
311
内容来源:http://blog.csdn.net/azhao_dn/article/details/6921429在hive上执行查询:select
count(*) from user_active_vv_20110801_31 where active_type_3>0 UNION ALL s...
分类:
其他好文 时间:
2014-05-07 20:26:30
阅读次数:
460
本文是Pig系统分析系列中的最后一篇了,主要讨论如何扩展Pig功能,不仅介绍Pig本身提供的UDFs扩展机制,还从架构上探讨Pig扩展可能性。
补充说明:前两天同事发现twitter推动的Pig On Spark项目:Spork,准备研究下。
UDFs
通过UDFs(用户自定义函数),可以自定义数据处理方法,扩展Pig功能。实际上,UDFS除了使用之前需要register/define外,和...
分类:
其他好文 时间:
2014-05-07 05:10:44
阅读次数:
567
版本:cdh5.0.0+hadoop2.3.0+hive0.12一、原始数据:1. 本地数据[root@node33 data]# ll
total 12936
-rw-r--r--. 1 root root 13245467 May 1 17:08 hbase-data.csv
[root@node33 data]# head -n 3 hbase-data.csv
1,1.52101,13...
分类:
其他好文 时间:
2014-05-06 22:24:07
阅读次数:
437
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。
最常用的就是多表关联查询,主要讲解下join、outer join和semi join的具体使用。
join是最简单的关联操作,两边关联只取交集。
outer join分为left outer join、rig...
分类:
其他好文 时间:
2014-05-06 15:01:38
阅读次数:
269
从WordCount开始分析
编写一个例子程序
编写一个从HDFS中读取并计算wordcount的例子程序:
packageorg.apache.spark.examples
importorg.apache.spark.SparkContext
importorg.apache.spark.SparkContext._
objectWordCount{
defm...
分类:
其他好文 时间:
2014-05-05 13:10:34
阅读次数:
463
Spark中的Scheduler
scheduler分成两个类型,一个是TaskScheduler与其实现,一个是DAGScheduler。
TaskScheduler:主要负责各stage中传入的task的执行与调度。
DAGScheduler:主要负责对JOB中的各种依赖进行解析,根据RDD的依赖生成stage并通知TaskScheduler执行。
实例生成
TaskSchedule...
分类:
其他好文 时间:
2014-05-04 09:08:02
阅读次数:
379
RDD的依赖关系
Rdd之间的依赖关系通过rdd中的getDependencies来进行表示,
在提交job后,会通过在DAGShuduler.submitStage-->getMissingParentStages
privatedefgetMissingParentStages(stage:
Stage): List[Stage] = {
valmissing
=newHash...
分类:
其他好文 时间:
2014-05-03 15:56:22
阅读次数:
282