Un pattern comune nel mio elaborazione dei dati è raggruppare per un gruppo di colonne, applicare un filtro, quindi appiattire nuovamente. Per esempio:Apache Pig: prefisso dello spazio dei nomi strip (: :) dopo l'operazione di gruppo
my_data_grouped = group my_data by some_column;
my_data_grouped = filter my_data_grouped by <some expression>;
my_data = foreach my_data_grouped flatten(my_data);
Il problema qui è che se my_data
inizia con uno schema simile (c1, c2, c3) dopo questa operazione si avrà uno schema simile (mydata :: c1, c2 mydata ::, MYDATA :: c3). C'è un modo per rimuovere facilmente il prefisso "mydata ::" se le colonne sono univoche?
So che posso fare qualcosa di simile:
my_data = foreach my_data generate c1 as c1, c2 as c2, c3 as c3;
Tuttavia che diventa scomodo e difficile da mantenere per insiemi di dati con un sacco di colonne ed è impossibile per i set di dati con le colonne variabili.
Come usare questo UDF? Grazie in anticipo. –