Un patrón común en mi procesamiento de datos es agrupar por un conjunto de columnas, aplicar un filtro y luego aplanar nuevamente. Por ejemplo:Apache Pig: espacio prefijado de espacio de nombres (:) después de la operación de grupo
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);
El problema aquí es que si my_data
comienza con un esquema similar (c1, c2, c3) después de esta operación tendrá un esquema similar (misdatos :: c1, c2 misdatos ::, misdatos :: c3). ¿Hay alguna manera de quitar fácilmente el prefijo "mydata ::" si las columnas son únicas?
Sé que puedo hacer algo como esto:
my_data = foreach my_data generate c1 as c1, c2 as c2, c3 as c3;
obstante que obtiene incómoda y difícil de mantener para los conjuntos de datos con una gran cantidad de columnas y es imposible que los conjuntos de datos con columnas variables.
Cómo utilizar este UDF? Gracias por adelantado. –