Ten post zawiera niezbędny krok wymagany do utworzenia UDF w Apache Pig. Wszystkie UDF powinny rozszerzać funkcję filtru i muszą zawierać metodę o nazwie exec, która zawiera krotkę. Zastosowana tutaj logika polega na tym, że jeśli krotka ma wartość null lub zero, daje wartość logiczną: True lub False. A „IsofAge” służy do sprawdzania, czy podany wiek jest prawidłowy, czy nie. Logika funkcji zdefiniowanej przez użytkownika jest zapisywana w kodach Java, gdzie plik JAR zostanie utworzony, a następnie wyeksportowany. Plik JAR jest później rejestrowany. Te pliki JAR znajdują się w plikach bibliotek Apache Pig w momencie ładowania.
public class IsOfAge rozszerza FilterFunc { @Nadpisanie publicBoolean exec (krotka krotki) throwsIOException { if (tuple == null || tuple.size () == 0) { returnfalse } próbować{ Obiekt object = tuple.get (0) if (object == null) { returnfalse } inti = (Integer) obiekt if (i == 18 || i == 19 || i == 21 || i == 23 || i == 27) { powracać } else { returnfalse }} catch (ExecExceptione) { thrownewIOException (e) }}}
Jak zadzwonić do Pig UDF?
Po utworzeniu pliku UDF należy użyć następującego polecenia, aby zarejestrować plik JAR.
do czego służy marionetka
zarejestruj myudf.jar X = filtr A według IsOfAge (wiek)
Kroki, aby utworzyć UDF w Pig:
W Apache Pig jest wiele predefiniowanych funkcji. Mamy również funkcję tworzenia własnej funkcji, którą jest funkcja zdefiniowana przez użytkownika (UDF). Pig UDF jest napisany w Javie i wymaga to Pig Library do używania predefiniowanych klas. Biblioteka Apache Pig pig-0.8.0-cdh3u0-core.jar można pobrać z Internetu.
Kliknij tutaj, aby uzyskać instrukcje dotyczące tworzenia skryptu Pig z UDF w trybie HDFS.
Masz do nas pytanie? Wspomnij o nich w sekcji komentarzy, a my skontaktujemy się z Tobą.
Powiązane posty:
Skrypt Apache Pig z UDF w trybie HDFS
Operatorzy w Apache Pig: Część 1 - Operatory relacyjne
Operatorzy w Apache Pig: Część 2 - Operatorzy diagnostyczni