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
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)
"
Znalazłem ten strony: https://cwiki.apache.org/confluence/display/Hive/AdminManual+Configuration
na nim nie ma właściwość o nazwie: hive.query.string
, więc set hive.query.string = even more helpful name
powinno działać.
Działa to idealnie dla mnie.
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:
- Zaloguj się do interfejsu użytkownika Ambari jako administrator.
- idź do ula configs
- Otwarte zwyczaj HiveSite.xml
- dodawania pary następującą wartość klucza
KLUCZ: hive.security.authorization.sqlstd.confwhitelist.append
WARTOŚĆ: mapred.job.name usługa
- Restart HIVE
można każda para klucz-wartość w tej konfiguracji, dla których pojawi się ten błąd wykonania
Dałem ci uprowadzenie, ponieważ, cóż, to sprytnie, ale spróbuję trochę dłużej wytrzymać. Dzięki za pomysł. –