Hive在where子句中传递参数

时间:2016-03-24 04:24:07

标签: hive hiveql

在Hive中我们可以在where子句中传递参数吗? 如果是,云你请用一个场景解释我吗?

ex:在sql中 select * from mytable where col =?

1 个答案:

答案 0 :(得分:1)

是的,你可以。 以下是几个例子: https://cwiki.apache.org/confluence/display/Hive/LanguageManual+VariableSubstitution

这是一个使用shell脚本的特定示例,这是一个非常常见的使用变量替换的地方:

#!/usr/bin/env bash
if [ "$#" -eq 1 ]; then
    WHEREVAR=$1

    hive -e "SELECT * FROM myDB.myTable where myFirstField=${WHEREVAR};"
else

    echo "Illegal number of parameters"