Typowym wzorem w moim przetwarzaniu danych jest grupowanie według pewnego zestawu kolumn, stosowanie filtra, a następnie ponowne spłaszczanie. Na przykład:Apache Pig: prefiks paska przestrzeni nazw (: :) po operacji grupowej
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);
Problem polega na tym, że jeśli my_data
zaczyna się od schematu podobnego (C1, C2, C3) po tej operacji nie będzie miała takiego schematu (mydata :: C1, C2, MYDATA :: MyData :: c3). Czy istnieje sposób na łatwe usunięcie prefiksu "mydata ::", jeśli kolumny są unikatowe?
wiem, że mogę zrobić coś takiego:
my_data = foreach my_data generate c1 as c1, c2 as c2, c3 as c3;
jednak, że staje się niewygodne i trudne do utrzymania dla zbiorów danych z wielu kolumn i jest niemożliwy do zbiorów danych o zmiennych kolumn.
Sposób korzystania z tego UDF? Z góry dziękuję. –