我想在两个文件加入后过滤记录。使用PIG加入后过滤数据
文件BX-Books.csv包含书籍数据。并且文件BX-Book-Ratings.csv包含书评分数据,其中ISBN是来自两个文件的共同列。文件之间的内部连接使用此列完成。
我想获得2002年出版的书籍。
我已经使用了下面的脚本,但我得到了0条记录。
grunt> BookXRecords = LOAD '/user/pradeep/BX-Books.csv' USING PigStorage(';') AS (ISBN:chararray,BookTitle:chararray,BookAuthor:chararray,YearOfPublication:chararray, Publisher:chararray,ImageURLS:chararray,ImageURLM:chararray,ImageURLL:chararray);
grunt> BookXRating = LOAD '/user/pradeep/BX-Book-Ratings.csv' USING PigStorage(';') AS (user:chararray,ISBN:chararray,rating:chararray);
grunt> BxJoin = JOIN BookXRecords BY ISBN, BookXRating BY ISBN;
grunt> BxJoin_Mod = FOREACH BxJoin GENERATE $0 AS ISBN, $1, $2, $3, $4;
grunt> FLTRBx2002 = FILTER BxJoin_Mod BY $3 == '2002';
“描述BxJoin_Mod”是什么?输出?你是否也有2002年的YearOfPublication数据? – Amit
grunt> DESCRIBE BxJoin_Mod; BxJoin_Mod:{ISBN:chararray,BookXRecords :: BookTitle:chararray,BookXRecords :: BookAuthor:chararray,BookXRecords :: YearOfPublication:chararr ay,BookXRecords :: Publisher:chararray} –
是的,我的数据有YearOfPublication == 2002 –