2013-09-26 11 views
10

Mam wiele zapytań o ulu, które mój system wykonuje regularnie. Kiedy patrzysz na moduł śledzenia zadań, pojawiają się one jako "pole SELECT, pole_nowe ..... (etap-1)" i podobne. Nie jest to szczególnie pomocne dla mnie, więc dodałem:

set mapred.job.name = more helpful name;
do zapytania. Teraz mogę je lepiej odróżnić. Jednak teraz moje zapytania podzielone na kilka etapów są wyświetlane jako te same. To, co najbardziej mi się podoba, to coś podobnego do linii

set mapred.job.name = more helpful name (Stage-%d);
gdzie% d zostanie zastąpiony przez numer bieżącego etapu.
Czy to możliwe i czy ktoś wie jak?Jak kontrolować nazwę pracy ula, ale zachować informacje o etapie?

Odpowiedz

13

Nie jestem pewien, czy istnieje sposób wdrożenia dokładnie tego, co chcesz, ale mogę zaoferować coś innego.
Zamiast set mapred.job.name można dodać komentarz na początku zapytania z more helpful name tak:
-- this is a more helpful name
SELECT field, other_field ....

Następnie w jobtracker zobaczysz -- this is a more helpful name ..... (Stage-%d) "

+0

Dałem ci uprowadzenie, ponieważ, cóż, to sprytnie, ale spróbuję trochę dłużej wytrzymać. Dzięki za pomysł. –

0

Wiem, że to bardzo spóźniona odpowiedź, ale tak czy inaczej, jeśli to pomoże, daj mi znać.

Dzieje się tak, ponieważ HIVE nie zezwala na ustawienie pewnych parametrów w czasie wykonywania. Nadal, jeśli chcesz ustawić, wykonaj następujące czynności:

  1. Zaloguj się do interfejsu użytkownika Ambari jako administrator.
  2. idź do ula configs
  3. Otwarte zwyczaj HiveSite.xml
  4. dodawania pary następującą wartość klucza
    KLUCZ: hive.security.authorization.sqlstd.confwhitelist.append
    WARTOŚĆ: mapred.job.name
  5. usługa
  6. Restart HIVE

można każda para klucz-wartość w tej konfiguracji, dla których pojawi się ten błąd wykonania