Potrzebuję pomocy w tym skrypcie świni. Właśnie dostaję pojedynczą płytę. Wybieram 2 kolumny i robię licznik (odrębny) na innym, jednocześnie używając klauzuli where like, aby znaleźć konkretny opis (desc).wybierz liczbę różną używając świni łacińskiej
Oto mój sql ze świnią próbuję kodować.
/*
For example in sql:
select domain, count(distinct(segment)) as segment_cnt
from table
where desc='ABC123'
group by domain
order by segment_count desc;
*/
A = LOAD 'myoutputfile' USING PigStorage('\u0005')
AS (
domain:chararray,
segment:chararray,
desc:chararray
);
B = filter A by (desc=='ABC123');
C = foreach B generate domain, segment;
D = DISTINCT C;
E = group D all;
F = foreach E generate group, COUNT(D) as segment_cnt;
G = order F by segment_cnt DESC;
Myślę, że być doskonały powinien być unique_segments = DISTINCT C.segment; –