我正在加载两个数据集A,B
A= LOAD [datapath]
B= LOAD [datapath]
我想通过id字段加入A和B的所有字段.A和B都有公共字段id和其他字段。当我通过id执行JOIN时:
AB= JOIN A by id, B by id;
结果数据集AB包含两个类似的字段id列,但是,它只能显示id字段的一列。我在这做错了什么?
答案 0 :(得分:2)
这是预期的行为,当连接两个数据集时,所有列都包括在内(即使是那些你加入的列)
您可以查看here
如果要删除列,可以使用generate
语句执行此操作。但首先你要知道不受欢迎的柱子的位置。
如果该列例如位于第3位
C = FOREACH AB GENERATE $1,$2, $4, $5...;
根据评论进行修改 您也可以在不知道位置的情况下使用生成语句。例如:
C = FOREACH AB GENERATE A::id AS id, A::foo AS foo, B::bar AS bar;