Apache Pig的解释功能

时间:2014-12-07 14:23:02

标签: java apache-pig

我正在尝试了解Pig的explain - 函数(link)。

假设以下示例:

A = load 'numbers' using PigStorage(',') as (name, age);
explain A;

这给了我:

#-----------------------------------------------
# New Logical Plan:
#-----------------------------------------------
A: (Name: LOStore Schema: name#5:bytearray,age#6:bytearray)
|
|---A: (Name: LOLoad Schema: name#5:bytearray,age#6:bytearray)RequiredFields:[0, 1]
#-----------------------------------------------
# Physical Plan:
#-----------------------------------------------
A: Store(fakefile:org.apache.pig.builtin.PigStorage) - scope-1
|
|---A: Load(file:///...pig-0.14.0/numbers:PigStorage(',')) - scope-0

2014-12-07 15:07:10,596 [main] INFO  org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MRCompiler - File concatenation threshold: 100 optimistic? false
2014-12-07 15:07:10,609 [main] INFO  org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MultiQueryOptimizer - MR plan size before optimization: 1
2014-12-07 15:07:10,610 [main] INFO  org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MultiQueryOptimizer - MR plan size after optimization: 1
#--------------------------------------------------
# Map Reduce Plan                                  
#--------------------------------------------------
MapReduce node scope-2
Map Plan
A: Store(fakefile:org.apache.pig.builtin.PigStorage) - scope-1
|
|---A: Load(file:///.../pig-0.14.0/numbers:PigStorage(',')) - scope-0--------
Global sort: false
----------------

我在这里可以看到什么?我觉得输出很混乱。

1 个答案:

答案 0 :(得分:0)

它告诉你猪的步骤。在你的情况下,它解释了如何通过加载数据填充别名A,因为你没有对它做任何事情,但是进入" fakefile"。它描述了流程以及它如何分解为map / reduce

正如你自己看到的那样,它真的很快就会变得非常混乱。您可能需要查看来自Netflix的Lipstick以获得更平易近人的内容