2016-09-07 67 views
3

我試圖根據每個區域中的國家數量來抽取豬關係中的國家/地區數據。我想過濾每個地區10%的國家。我正在嘗試在FOREACH中使用SAMPLE,但在FOREACH中看起來像SAMPLE不受支持。Apache PIG - 使用百分比值在foreach中抽樣分組數據

COUNTRY_FULL = LOAD 'COUNTRY_REGION' USING org.apache.hive.hcatalog.pig.HCatLoader(); 

COUNTRIES = FILTER COUNTRY_FULL by partition_dt=='2016-09-04'; 

COUNTRIES_GROUPED_BY_REGION = GROUP COUNTRIES BY region_id; 

SAMPLED_DATA = FOREACH COUNTRIES_GROUPED_BY_REGION { 
    SAMPLED = SAMPLE COUNTRIES 0.1; 
    GENERATE FLATTEN(SAMPLED); 
}; 

DUMP SAMPLED_DATA; 

有沒有一種方法可以在豬羣中實現這種基於百分比的採樣抽樣?

回答

0

這裏的標準技巧是在您的foreach之前或之後執行所需的操作(例如樣本)。

在這種情況下,我會說應該可以在foreach之前的某處使用示例函數。