Pig系统分析(7) Pig实用工具类

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.DotPlanDumper,这部分实现为我们设计执行计划可视化提供了参考。 下图部分截取了使用Graphviz打开物理执行计划DOT文件之后生成的图。(Graphviz介绍请参考http://zh.wikipedia.org/wiki/Graphviz)

Illustrate

Illustrate比Explain更进一步,它还会根据具体语句表达式条件自动生成适合执行计划的样本数据,并模拟执行,将每一步的结果按照表格输出,模拟一次完整的数据处理流程。代码实现详见org.apache.pig.pen.Illustrator。

PigContext

PigContext类包含Pig执行过程各个阶段需要的上下文基本信息,PigContext从前端传递到后端,一直到Hadoop Job阶段都可用。在Map&Reduce的初始化方法中,从Hadoop Configuration中获取PigContext。

pigContext= (PigContext)ObjectSerializer.deserialize(job.get("pig.pigContext"));

PigContext中比较重要信息有:

execType:执行类型,local/mr。

HExecutionEngine:后端执行引擎。

Script files/各种jar包等。

definedFunctions:funcName与funcSpec的映射。

dataStorage:文件系统接口,dfs&lfs。

查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/database/storage/

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索graphviz
, pig
, 输出
, dot
, pigserver,pig
, Dot类
, Explain
参考
java实用工具类、mybatis 实用 工具类、pigcms微店系统、death of a pig 分析、系统配置实用程序,以便于您获取更多的相关知识。

时间: 2024-08-03 08:29:39

Pig系统分析(7) Pig实用工具类的相关文章

分页封装实用工具类及其使用方法

分页封装实用工具类及其使用方法 作者: javaboy2012 Email:yanek@163.com qq:    1046011462     package com.yanek.util; import java.util.List; public class PageBean { /** * @param args */ public static void main(String[] args) { } private int currentpage; // 当前页数 private

CLHep 2.1.1.0发布 实用工具类

CLHep是一套HEP特定的基础库和实用工具类,如随机生成器,物理向量,几何,和线性代数.CLHep是由一个独立于任何外部的程序包构成,即允许在一定条件下CLHEP的相互依存关系). CLHep 2.1.1.0版本增加了一个Azzalini歪斜正态分布的实施,修复了一些小的bug. 软件信息:http://wwwasd.web.cern.ch/wwwasd/lhc++/clhep/ 下载地址: Source: http://wwwasd.web.cern.ch/wwwasd/lhc++/clhe

Pig系统分析(8) Pig可扩展性

本文是Pig系统分析系列中的最后一篇了,主要讨论如何扩展Pig功能,不仅介绍Pig本身提供的UDFs扩展机制,还从架构上探讨Pig扩展可能性. 补充说明:前些天同事发现twitter推动的Pig On Spark项目:Spork,准备研究下. UDFs 通过UDFs(用户自定义函数),可以自定义数据处理方法,扩展Pig功能.实际上,UDFS除了使用之前需要register/define外,和内置函数没什么不同. 基本的EvalFunc 以内置的ABS函数为例: public class ABS

翻翻git之---实用工具类Lazy(绝对的好东西,走过路过别错过)

转载请注明出处:这里写链接内容 今天还是继续昨天的从Git上找点"有用的","好玩的","推荐的"东西给大家,今天贴的是一个工具类.地址如下https://github.com/ddwhan0123/Lazy 原作者Blog:http://weibo.com/2675061813/profile?topnav=1&wvr=6 他有一些比较常用的,诸如设备状态啊,土司啊,窗口啊,测量啊什么的,还有些我觉得平时回去搜,但是不多的资源,如拼音和

http接口开发请求参数签名实用工具类

作用: 在http接口对参数做签名,防止接口被非法调用    package com.yanek.util; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.security.GeneralSecurityException; import java.security.MessageDigest; import java.util.ArrayList; import java

Android封装的http请求实用工具类

复制代码 代码如下:import java.io.BufferedReader;import java.io.InputStreamReader;import java.net.URLEncoder;import java.security.KeyStore;import java.util.Iterator;import java.util.List;import java.util.Map;import java.util.Map.Entry; import org.apache.http.

ExtJS实用工具类 Ext.util.TaskRunner

TaskRunner 在浏览器提供的 setTimout()/setInterval() 基础上继续完善, 扩展了主要两项功能:执行次数的限制.执行时间的限制(即超时).TaskRunner 旨在利用计时器分时执行方法提供一个相对简易的并行运行机制,其目的不但在于一般的延时执行任务(或者另一个类 DelayedTask 会更合适),还可以同时进行多项任务.这样的话,任意个独立的任务都可以在任何时候开始,并彼此独立地运行.那么是否与多线程的概念有些相近呢?其实不尽然--这里必须说明一下,尽管 Ex

Java Class 映射及实用工具类完整源代码

源代码 package com.elink.util; /* * <p>Company: 凌科软件 www.elingke.com </p> * @author liubaojun * @version 1.0 * Created on 2004-11-29 * 来源于 elinkBSP 部分源代码 */ import java.lang.reflect.*;import java.net.*; public class ClassUtil{ /** @param strClass

XML 实用工具类

xml package com.elink.util; /* * <p>Company: 凌科软件 www.elingke.com </p> * @author liubaojun * @version 1.0 * Created on 2004-11-29 * 来源于 elinkBSP 部分源代码 */ import java.io.*;import java.util.*;import javax.xml.parsers.*;import javax.xml.transform