-1
Я хочу иметь сценарий свинью для фильтрации строк на различных условиях:Свиньи: строки фильтра условия
i2 = GROUP i1 ALL;
i3 = FOREACH i2 GENERATE AVG(i1.user_followers_count) AS avg_user_followers_count, AVG(i1.avl_user_total_retweets) AS avg_avl_user_total_retweets, AVG(i1.avl_user_total_likes) AS avg_avl_user_total_likes, AVG(i1.avl_user_total_replies) AS avg_avl_user_total_replies, AVG(i1.avl_user_engagements) AS avg_avl_user_engagements;
top = FILTER i1 BY (user_followers_count > i3.avg_user_followers_count) AND (avl_user_engagements > i3.avg_avl_user_engagements) AND (avl_user_total_retweets > i3.avg_avl_user_total_retweets) AND (avl_user_total_likes > i3.avg_avl_user_total_likes) AND (avl_user_total_replies > i3.avl_user_total_replies);
bot = FILTER i1 BY (user_followers_count < i3.avg_user_followers_count) AND (avl_user_engagements < i3.avg_avl_user_engagements) AND (avl_user_total_retweets < i3.avg_avl_user_total_retweets) AND (avl_user_total_likes < i3.avg_avl_user_total_likes) AND (avl_user_total_replies < i3.avl_user_total_replies);
То есть я собирала все, что выше среднего в каждом аспекте, как top
, все, что ниже среднего каждый аспект как bottom
.
Теперь я хочу, чтобы получить оставшиеся строки (то есть все смешалось, то есть несколько аспектов, выше среднего и несколько ниже среднего) после фильтрации top
и bot
в другой псевдоним называется med
. Как мне это сделать?
Спасибо, Не уверен, что если 'OTHERWISE' правильный синтаксис. У меня есть некоторые записи, потерянные при использовании этого кода. – kskp
'Input (s): Успешно чтения 165 записи (362590 байт) из: "/ пользователь/alenza/Virtua/marketanalysis/данные/результаты/analysis_name/tweets_combined/пользователь"' 'Выход (ы): Успешно сохранено 0 записей (815 байт) в: "/ tmp/inf_med" Успешно сохранено 1 запись (163 байта) в: "/ tmp/inf_top" Успешно сохранено 113 записей (18068 байт) в: "/ tmp/inf_bot" ' – kskp
Он читал 165 записей, но написал только 114 записей. – kskp