2つのファイルが結合された後にレコードをフィルタリングしたいとします。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を記述する」とは何ですか?出力?また、YearOfPublicationが2002年のデータもありますか? – Amit
grunt> DESCRIBE BxJoin_Mod; BxJoin_Mod:{ISBN:chararray、BookXRecords :: BOOKTITLE:chararray、BookXRecords :: BookAuthor:chararray、BookXRecords :: YearOfPublication:CHARARR AY、BookXRecords ::出版社:chararray} –
はい、私はYearOfPublicationの== 2002を持っているデータを持っています –