pig拉丁连接错误

rdlzhqv9  于 2021-05-31  发布在  Hadoop
关注(0)|答案(1)|浏览(292)

我正在加载两个数据集a,b

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

我想通过id字段连接a和b的所有字段。a和b都有公共字段id和其他字段。执行按id联接时:

AB= JOIN A by id, B by id;

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

vvppvyoh

vvppvyoh1#

这是预期的行为,当连接两个数据集时,所有列都包括在内(即使是那些您正在连接的列)
你可以在这里查
如果要删除列,可以使用 generate 声明。但首先你得知道不需要的纵队的位置。
例如,如果该列位于第3个位置

C = FOREACH AB GENERATE $1,$2, $4, $5...;

从注解编辑也可以使用generate语句而不知道位置。例子:

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

相关问题