Come posso verificare in piglatin, se un sacchetto contiene un elemento?Verificare se un elemento è presente in un sacchetto?
Esempio: in un sacchetto di chararray, come posso controllare se è presente un token?
Come posso verificare in piglatin, se un sacchetto contiene un elemento?Verificare se un elemento è presente in un sacchetto?
Esempio: in un sacchetto di chararray, come posso controllare se è presente un token?
In Apache Pig è possibile utilizzare le istruzioni nidificate in FOREACH see Pig Basics. Ecco un esempio dalla documentazione: A
è una borsa in B
.
X = FOREACH B {
S = FILTER A BY 'xyz';
GENERATE COUNT (S.$0);
}
Invece di COUNT è possibile utilizzare IsEmpty e operatore?:
X = FOREACH B {
S = FILTER A BY 'xyz';
GENERATE (IsEmpty(S.$0)) ? 'xyz NOT PRESENT' : 'xyz PRESENT') as present, B;
}
O solo di lasciare le borse che contengono i dati:
X = FOREACH B {
S = FILTER A BY 'xyz';
GENERATE B, S;
}
F = FILTER X BY not IsEmpty(S);
R = FOREACH F GENERATE B;
Ciò eviterà costosi uniscono a se stesso , poiché i join aggiuntivi sono lavori di riduzione della mappa aggiuntivi.