2013-04-27 23 views
6

Ustawiłem klaster Hadoop (używając Cloudera distro przez Cloudera Managera) i uruchamiam kilka zapytań Hive używając interfejsu Hue, który używa wosku pszczelego pod spodem.Jak odświeżyć/wyczyścić pamięć rozproszoną przy użyciu hue + wosku pszczelego Aby uruchomić kwerendy w ulu, które definiują niestandardowe funkcje UDF?

Wszystkie moje zapytania działają poprawnie, a nawet pomyślnie wdrożyłem niestandardowy formularz UDF.

Ale podczas wdrażania UDF, natknąłem się na bardzo frustrujący problem z wersjami. W początkowej wersji mojej klasy UDF użyłem klasy trzeciej, która powodowała StackOverflowError.

Naprawiłem ten błąd, a następnie zweryfikowałem, że UDF może zostać wdrożony i pomyślnie użyty z linii komend ula.

Następnie, gdy wróciłem do ponownego użycia Hue i wosku pszczelego, ciągle miałem ten sam błąd. Mogłem to naprawić tylko zmieniając nazwę klasy java UDF. (Od Lower do Lower2).

Moje pytanie brzmi:, jaki jest właściwy sposób radzenia sobie z takimi problemami związanymi z wersją?

Z tego co rozumiem, kiedy dodaję słoiki za pomocą podręcznych pól formularza po lewej stronie, zostają one dodane do rozproszonego bufora podręcznego. Jak więc odświeżyć/wyczyścić rozproszoną pamięć podręczną? (Nie mogłem dostać LIST JARS; itp uruchomić od wewnątrz ula/woskiem pszczelim. To daje mi błąd składni).

+0

Czy rozwiązałeś ten problem? – yatul

+0

Możesz rozważyć zgłoszenie błędu. –

Odpowiedz

2

Ponieważ zajęcia są ładowane na wosk pszczeli Server JVM (samo z HiveServer1 i HiveServer2 JVMs), wdrażania nowa wersja słoika często może wymagać ponownego uruchomienia tych usług, aby uniknąć problemów z ładowaniem klas.