![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
~Pig
_猪头饼_
码农,关注大数据、分布式计算
展开
-
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 · 1617 阅读 · 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 · 1995 阅读 · 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 · 2431 阅读 · 0 评论 -
Pig系统分析(1)-概述
1 概述Apache Pig是Yahoo!为了让研究人员和工程师能够更简单处理、分析和挖掘大数据而发明的。尽管Pig的学习成本比Hive要高一些,但是Pig的优点是表达能力和灵活性更胜一筹。如果说用户使用声明式的Hive Hql表达的只是想要什么数据,那么用户使用过程式的Pig Lation,通过一连串的语句组合,能够充分控制数据分析的整个流程。本文分析了Pig运行主线流程,目的原创 2014-04-21 17:13:32 · 1912 阅读 · 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 · 2321 阅读 · 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 · 1791 阅读 · 0 评论 -
Pig系统分析(5)-从Logical Plan到Physical Plan
Physical Plan生成过程优化后的逻辑执行计划被LogToPhyTranslationVisitor处理,生成物理执行计划。这是一个经典的Vistor设计模式应用场景。其中,LogToPhyTranslationVisitor的visit()为入口方法,通过DependencyOrderWalker遍历处理逻辑执行计划中的每一个LogicalRelationalOperat原创 2014-04-24 14:02:19 · 2322 阅读 · 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 · 1979 阅读 · 0 评论 -
Pig系统分析(4)-Logical Plan Optimizer
优化过程Pig哲学之二——Pigs Are Domestic Animals。用户拥有足够的控制权。具体到逻辑执行计划的优化上,用户可以根据自己情况选择适合的优化规则(也可以理解为优化这块还大有潜力可挖)。逻辑执行计划在编译成物理执行计划之前,会被LogicalPlanOptimizer处理,和一系列优化规则进行匹配,匹配上的优化规则会对原有执行计划进行变换,最终产生优化后的新执行计划。整原创 2014-04-24 12:24:56 · 1352 阅读 · 0 评论