2016-05-12 907 views
0

我正在while循環中運行impala查詢,並且爲此我創建了一個單獨的查詢文件,並且從shell腳本中調用它。將參數傳遞給Impala shell

我的問題是:我們可以在查詢文件中傳遞與impala查詢匹配的shell變量嗎?

A="INSERT_SBP_ME_VS_ME_INCOME_LAST_THIRTY_DAYS_Q"${Count} 

echo "value of A is $A" 

source ${SBP2_MNY_IN_LAST_THIRTY_DAYS_QF} 

${IMPALA_CON} -q "${${A}}" 

'A' 值是像INSERT_SBP_ME_VS_ME_INCOME_LAST_THIRTY_DAYS_Q1(如計數1)

我這樣做以這種方式,但越來越bad substitution error,我也試過

${IMPALA_CON} -q "${A}" 

,但沒有得到一個成功結果。

回答

0

您的查詢應該是:

impala-shell -q "$A" 

參見:

impala-shell Configuration Options

similar post

+0

我們試過這個,但是它不工作可能是因爲$ A是unix變量,impala正在等待查詢文件中存在的查詢變量$ {Query_variable_Q1}。任何其他solutuion? –

0

你似乎在尋找--var(IMPALA-2179)。要從命令行替換,你可以這樣做:

impala-shell -f test.q --var = L = 2;

其中test.q是: select * from p_test limit $ {VAR:L};