介绍
Spork是Pig on Spark的highly experimental版本,依赖的版本也比较久,如之前文章里所说,目前我把Spork维护在自己的github上:flare-spork。
本文分析的是Spork的实现方式和具体内容。
Spark Launcher
在hadoop executionengine包路径下,写了一个Spark启动器,同MapReduceLauncher类似,会在launchPig的时候,把传入的物理执行计划进行翻译。
MR启动器翻译的是MR的操作,以及进一步的MR...
分类:
其他好文 时间:
2014-05-09 02:08:17
阅读次数:
358
概述
Oracle Outline是用来保持SQL执行计划(execution
plan)的一个工具。我们可以通过outline工具防止SQL执行计划在数据库环境变更(如统计信息,部分参数等)而引起变化。
Outline的主要使用在以下情况:
1.
为避免在升级后某些sql出现严重性能下降而且在短时间内不能优化的情况,
我们可以使用outline的功能将原生产库中的sql执...
分类:
数据库 时间:
2014-05-08 10:49:12
阅读次数:
468
MySQL 可以看成是二层架构
第一层SQL Layer,包括权限判断,sql 解析,执行计划优化,query cache 的处理等等;
第二层存储引擎层(Storage Engine Layer),是底层数据存取操作实现部分,由多种存储引擎共同组成。
SQL Layer 中包含了多个子模块:
1、初始化模块
MySQL Server 启动的时候,对整个系统做各种各样的初...
分类:
数据库 时间:
2014-05-08 10:47:13
阅读次数:
381
经过长时间学习Oracle,于是和大家分享一下,看完本文你肯定有不少收获,希望本文能教会你更多东西。Oracle执行计划的每一步返回一组行,它们或者为下一步所使用,或者在最后一步时返回给发出SQL语句的用户或应用。由每一步返回的一组行叫做行源(row
source)。下面得树状图显示了从一步到另一步...
分类:
数据库 时间:
2014-05-08 09:18:30
阅读次数:
441
一段SQL代码写好以后,可以通过查看SQL的执行计划,初步预测该SQL在运行时的性能好坏,尤其是在发现某个SQL语句的效率较差时,我们可以通过查看执行计划,分析出该SQL代码的问题所在。那么,作为开发人员,怎么样比较简单的利用执行计划评估SQL语句的性能呢?总结如下步骤供大家参考:1、
打开熟悉的查...
分类:
数据库 时间:
2014-05-08 08:41:50
阅读次数:
356
在Oracle数据库操作中,为什么有时一个表的某个字段明明有索引,当观察一些语的执行计划确不走索引呢?如何解决呢?本文我们主要就介绍这部分内容,接下来就让我们一起来了解一下。一、
不走索引大体有以下几个原因:你在Instance级别所用的是all_rows的方式你的表的统计信息(最可能的原因)你的表...
分类:
数据库 时间:
2014-05-08 07:14:38
阅读次数:
479
本文通过跟代码的方式,分析从输入一批Pig-latin到输出物理执行计划(与launcher引擎有关,一般是MR执行计划,也可以是Spark RDD的执行算子)的整体流程。
不会具体涉及AST如何解析、如何使用了Anltr、逻辑执行计划如何映射、逻辑执行计划如何优化、MR执行计划如何切分为MR Job,而是从输入一批Pig DSL到待执行的真正执行计划的关键变化步骤(方法和类)。...
分类:
其他好文 时间:
2014-05-08 04:00:42
阅读次数:
407
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.DotPla...
分类:
其他好文 时间:
2014-05-07 06:03:35
阅读次数:
350
select * from table where id =
?类似于上面这样的sql,如果不用绑定变量,每次执行时Oracle会认为是不同的sql,会在每次执行时生成一遍执行计划,而执行计划的生成是非常耗CPU,试想一下,如果1000个并发都在执行这条语句,等于同时在生成1000个执行计划。如果使...
分类:
数据库 时间:
2014-05-07 00:58:05
阅读次数:
418