了解jobs conf.xml参数pig.script.features

时间:2013-10-31 12:00:37

标签: hadoop apache-pig

参数是什么

<property>
    <name>pig.script.features</name>
    <value>66080</value>
</property> 

在作业_ * _conf.xml中指示?

调整hadoop集群/ pig工作流程有用吗? 网上是否有这些参数列表及其值的解释?

1 个答案:

答案 0 :(得分:1)

此参数来自PIG-1333,它实际上只不过是脚本级功能的简洁表示。您会看到一个整数值,但它实际上是一个位集,用于确定整个Pig脚本中使用的功能(不仅仅是在作业级别)

关于功能本身,您可以查看以下枚举:

static enum PIG_FEATURE {
     UNKNOWN,
     MERGE_JION,
     REPLICATED_JOIN,
     SKEWED_JOIN,
     HASH_JOIN,
     COLLECTED_GROUP,
     MERGE_COGROUP,
     COGROUP,
     GROUP_BY,
     ORDER_BY,
     DISTINCT,
     STREAMING,
     SAMPLING,
     MULTI_QUERY,
     FILTER,
     MAP_ONLY,
     CROSS,
     LIMIT,
     UNION,
     COMBINER;
};

现在要从您的位集转换(在您的情况下为66080),您可以应用以下算法,该算法可以在Pig的源代码中找到(其中l是您的位集值):

StringBuilder sb = new StringBuilder();
for (int i=0; i<PIG_FEATURE.values().length; i++) {
    if (((l >> i) & 0x00000001) != 0) {
        if (sb.length() > 0) sb.append(",");
        sb.append(PIG_FEATURE.values()[i].name());
    }
}
return sb.toString();

例如,通过在bitset上运行它,您可以看到Pig脚本中具有以下功能:

  • COLLECTED_GROUP
  • ORDER_BY
  • CROSS