2016-10-03 2 views
-2

Passing Parameter in Hive funktioniert nicht für mich. Mein Code:Passing Parameter in Hive funktioniert nicht

hive> set x='test variable'; 
hive> ${hiveconf:x}; 

ich diesen Fehler:

FAILED: Parse Error: line 1:0 cannot recognize input near ''test variable'' '<EOF>' '<EOF>'

+0

Warum drucken Sie es nicht mit 'Select $ {hiveconf: x};' vor der Ausführung? – leftjoin

Antwort

0

Versuchen:

hive> set x='test variable'; 
hive> set; 

Sie werden unter den Werten vieler Variablenwert von x Variable sehen.

0
hive> ${hiveconf:x}; 

buchstäblich 'test variable' ersetzen. so dass Sie die Ausführung des Befehls

hive> 'test variable'; 

, die zu einem Fehler führen sollten, denn das ist kein Befehl, den ich jemals mit SQL gesehen habe.

Wenn Sie den Wert von x ausgeben sind versuchen, müssen Sie nur

SET x; 

tun Wenn Sie den Wert von x in einer Erklärung verwenden möchten, können Sie tun,

SELECT * FROM TABLE tbl WHERE a=${hiveconf:x}; 

würde den Befehl ausführen

SELECT * FROM TABLE tbl WHERE a='test variable';