如果为“NULL”,则在shell脚本中使用0

时间:2017-03-29 18:40:51

标签: linux shell scripting hive sqoop

我正在使用shell脚本来查询配置单元表

last_val="`hive -e "select max(id) from ${hivedatabase}.${table}"`"

echo var1="$last_val"

When the last_val = "NULL" then I want the last_val to be zero

我尝试过如下但仍然是Null

function value
{
   if [ "$last_val" = "NULL" ];then
        echo "0"
   elif [ "$last_val" != "NULL" ];then
        echo "$last_val"
   fi
}


echo var2="$(value)"

我希望将此值用于使用sqoop的增量导入,如

select * from testing.1234abc check column id > value

如何在shell脚本中实现

1 个答案:

答案 0 :(得分:0)

我使用这种方法,试试吧:

#!/bin/bash

hivedatabase=mydb
table=mytable
default_value="ZERO"

last_val=$(hive -e "set hive.cli.print.header=false; select max(id) from ${hivedatabase}.${table};")

if [[ "$last_val" == "NULL" ]] ; then 
  last_val="$default_value"
fi

echo "$last_val"