1

参数是什么

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

在jobs _ * _conf.xml 中表示?

它对调整 hadoop 集群/猪工作流程有用吗?网上是否有此类参数的列表及其值的解释?

4

1 回答 1

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
于 2013-11-01T01:32:50.353 回答