左边只加入猪(A - B)

时间:2015-08-21 16:55:13

标签: hadoop apache-pig cloudera hortonworks-data-platform

我有两个数据集

File1中

11,A,2013
12,B,2014
13,C,2015

文件2

11,A,2016,Y
15,D,2017,Y
13,C,2016,N
10,K,2017,N

我想根据这些数据集的第一列进行一个Left Only连接。 这是我的猪脚本。

A_C01 = LOAD '/user/uszanr8/pigtest/file3' using PigStorage(',') ; 
B_C08 = LOAD '/user/uszanr8/pigtest/file1'  using PigStorage(','); 
C_C01_FILT = FILTER A_C01 BY $3 == 'Y';
E_JOINED_BY_CLM_NBR = JOIN C_C01_FILT BY $0 , B_C08 BY  $0 ;
DUMP E_JOINED_BY_CLM_NBR;

我的实际数据有更多的记录和列。

如何在不使用cogroup的情况下从左侧数据集中获取与在Pig中过滤的右侧数据集不匹配的记录。

1 个答案:

答案 0 :(得分:1)

12,B,2014
13,C,2015

对于上面的代码,输出如下

var style = $(el).attr('style'),
    rotation = parseInt(style.substr(style.indexOf("rotate("+7));

如果您需要来自A(左侧关系)的所有记录,则只需删除E关系;

希望这会有所帮助..