時間、場所、クエリのフィールドを含む検索ログがあります。特定の時間の間に特定の場所から最もクエリされた単語を見つけたいです。date、time、query_String というすべてのフィールドは chararrays です。私は以下の豚のスクリプトを持っていますが、それは必要なことをしません。
Data = LOAD 'data' USING CustomPigStorage();
FClients = FILTER Data BY NOT(country is null);
Clients = FOREACH FClients GENERATE date,time, country,query_string as query;
grp = group Clients by (query, country, date, time);
wth_count = foreach grp generate FLATTEN(group), COUNT(Clients) as count;
たとえば、結果を「午後 2 時から午後 3 時の間に、アメリカからこんにちはが 4 回検索されました」と表示したいとします。私は基本的に Count() 関数に混乱しています。豚には比較的新しいです。ここでの count() は、私が持っているレコードの総数を数えていると思います。