博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Pig系统分析(7)-Pig有用工具类
阅读量:5946 次
发布时间:2019-06-19

本文共 752 字,大约阅读时间需要 2 分钟。

Explain

Explain是Pig提供的调试工具,使用explain能够输出Pig Lation的运行计划。

值得一提的是,explain支持-dot选项,将运行计划以DOT格式输出, (DOT是一种描写叙述语言,请參考)

代码实现详见org.apache.pig.impl.plan.DotPlanDumper,这部分实现为我们设计运行计划可视化提供了參考。

下图部分截取了使用Graphviz打开物理运行计划DOT文件之后生成的图。(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中比較重要信息有:

  1. execType:运行类型,local/mr。

  2. HExecutionEngine:后端运行引擎。

  3. Script files/各种jar包等。
  4. definedFunctions:funcName与funcSpec的映射。

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

你可能感兴趣的文章
多款C系列手机亮相三星中国论坛,更加注重中国用户体验
查看>>
云南中医学院更名为云南中医药大学
查看>>
人社部:突出就业优先政策主线 全力确保就业局势稳定
查看>>
关键时刻还是要看阿里,达摩院发布自主研发AI芯片
查看>>
「百年育才」计划启动港股IPO,新高考改革下的“志愿填报辅导”市场迎来窗口期?...
查看>>
浅谈高性能数据库集群——读写分离
查看>>
HenCoder Android 开发进阶:自定义 View 1-4 Canvas 对绘制的辅助
查看>>
angular ui-router:简单的单页面嵌套路由的实现过程
查看>>
Poi导出产生OOM解决方案
查看>>
YYImage源码剖析与学习
查看>>
闭包和一部电影的关系
查看>>
小程序【二】
查看>>
使用Intellij创建springboot项目Spring Initializr Error 403
查看>>
0617 - 只做核心业务
查看>>
使用MVVM尝试开发Github客户端及对编程的一些思考
查看>>
算法-基础(一)数组基本操作 和 静态方法(后面编写算法的时候会用到)
查看>>
浏览器安全之同源策略
查看>>
把vue-cli build的结果放到服务器上
查看>>
JSON入门看这一篇就够了
查看>>
vue + vuex + koa2开发环境搭建及示例开发
查看>>