2013-07-29 57 views
3

我擁有的數據已經派上用場了,我只想要一個包含兩個字段的文檔,即使它只包含一個條目,如果標題字段超過了一定的長度。這是我迄今爲止所擁有的。我該如何製作一個只能返回超過一定長度條目的字段的豬腳本?

records = LOAD '$INPUT' USING PigStorage('\t') AS (url:chararray, title:chararray, meta:chararray, copyright:chararray, aboutUSLink:chararray, aboutTitle:chararray, aboutMeta:chararray, contactUSLink:chararray, contactTitle:chararray, contactMeta:chararray, phones:chararray); 
E = FOREACH records IF SIZE(title)>10 GENERATE url,title; 
STORE E INTO '$OUTPUT/phoneNumbersAndTitles'; 

爲什麼代碼在IF中退出?

回答

3

您應該使用FILTER,從基於一些條件的關係,選擇的元組:

filtered = FILTER records BY SIZE(title) > 10; 
E = FOREACH filtered GENERATE url,title; 
+0

完美工作,謝謝。 – Chenab

+0

@ user2540466:很高興我能幫上忙! – cabad

+2

你可以將'filtered'和'E'壓縮到'E = FOREACH(FILTER records BY SIZE(title)> 10)GENERATE url,title;'。這可能更易於閱讀。 – mr2ert

相關問題