2014-10-14 21 views
5

W moich zapytaniach dotyczących ula ustawiam pewne zmienne.Ocena wyrażenia w instrukcjach HIVE set

jednak zdałem sobie sprawę, że rój pamiętać zamiast wyrażenia wartości, na przykład:

set a=1 ; 
set b=2 ; 
set c= ${hiveconf:a} + ${hiveconf:b} ; 
set c ; 
-- the command above returns 
-- c=1 + 2 

Dlaczego Hive nie ocenia wartość? Czy istnieje sposób na ustawienie gałęzi, aby set c ; powrócił c= 3 w moim poprzednim przykładzie?

Odpowiedz

1

Generalnie w punkcie definiowane są tylko zmienne w CLI. Ewaluacja odbędzie się podczas zmniejszania przebiegu mapy, np.

SELECT ${hiveconf:c} FROM yourTable LIMIT 1; 

podaje obliczoną wartość c.

+0

Witam @Wawrzyniec, dziękuję, ale to nie jest to, o co prosiłem (choć zdaję sobie sprawę, że pytanie może wydawać się zdezorientowane). Wiem, że ocenia je podczas zmniejszania mapy, chciałem się dowiedzieć, czy istnieje sposób na wymuszenie wcześniejszej oceny, aby móc sprawdzić wyniki. Mimo wszystko, dziękuję za twoją pomoc – lucacerone