Pig Latin JOIN 错误

Pig Latin JOIN error

我正在加载两个数据集 A、B

A= LOAD  [datapath]
B= LOAD  [datapath]

我想通过id JOIN A 和B 的所有字段field.Both A 和B 有共同的字段id 和其他字段。当我通过 id:

执行 JOIN 时
AB= JOIN A by id, B by id;

结果数据集 AB 包含两个类似的字段 id 列,但是,它只必须显示 id 字段的一列。我在这里做错了什么?

这是预期的行为,当连接两个数据集时,所有列都包括在内(即使是您连接的那些列)

你可以看看here

如果要删除列,可以使用 generate 语句来完成。但首先您需要知道不需要的列的位置。

例如,如果该列位于第 3 个位置

C = FOREACH AB GENERATE ,, , ...;

根据评论编辑 您也可以在不知道位置的情况下使用生成语句。示例:

C = FOREACH AB GENERATE A::id AS id, A::foo AS foo, B::bar AS bar;