2016-09-07 1 views
3

私は各地域の国の数に基づいてサンプリングしようとしているブタ関係にあるカントリーリージョンのデータを持っています。私は、各地域から10%の国を選別したいと思います。私はFOREACH内でSAMPLEを使用しようとしていますが、SAMPLEはFOREACH内でサポートされていないようです。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の前のどこかでサンプル関数を使用できるはずです。

関連する問題