问题
20190916
有时在写shell脚本时,脚本变量可以接受hive语句的返回值
#!bin/bash
sql1="
use mydatabase;
select min(colmun) from table_name;
"
var1=`hive -S -e "${sql1}"`
sql2="
use mydatabase;
select cast(1 as tinyint) as flag;
"
var2=`hive -S -e "${sql2}"`
但有时,hive -S -e "sql"
语句执行完后,有时候执行会包含 WARN
开头的日志:
WARN: The method class org.apache.commons.logging.impl.SLF4JLogFactory#release() was invoked.
WARN: Please see http://www.slf4j.org/codes.html#release for an explanation.
此时变量var
接受的返回值里含有这几行WARN...
语句,下面几种解决方法。\
- 方法1
var=`hive -e "${sql}" | grep -v "WARN"`
- 方法2
- 添加 export HIVE_SKIP_SPARK_ASSEMBLY=true; 到 /etc/profile
echo “export HIVE_SKIP_SPARK_ASSEMBLY=true;” >> /etc/profile
source /etc/profile