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;
我正在加载两个数据集 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;