我在while循环中运行impala查询,为此我创建了一个单独的查询文件,我从shell脚本调用它。
我的问题是:我们可以在查询文件中传递与变量匹配的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 :(得分:0)
答案 1 :(得分:0)
您似乎在寻找--var(IMPALA-2179)。要从命令行替换,您可以执行以下操作:
impala-shell -f test.q --var = L = 2;
test.q是: select * from p_test limit $ {VAR:L};
答案 2 :(得分:0)
impala-shell -i node.domain:port -B --var"table=metadata" --var="db=retail" -f "file.sql"
file.sql:
SELECT * FROM $ {var:db}。$ {var:table}“