将hive的hql执行结果保存到变量中

这里分别针对shell脚本和python脚本举例:

 

shell脚本如下:

注意:在hive语句左右两边使用的是ESC键下面的点号,不是单引号。

#!/usr/bin/env bash

test1=`hive -S -e "select max(period_value) from dw_dm.dm_guba_loginlog_activity_stat where dim = 'all' and period = 'day' and year = '2017';"`
test1=`echo ${test1}`

echo '--------------------'
echo ${test1}

python中直接有函数os.popen(xxx).read()可以引用:

# -*-coding:utf-8-*-

import os

hqlCommand = '''
hive -S -e "select max(period_value) from dw_dm.dm_guba_loginlog_activity_stat 
where dim = 'all' 
and period = 'day' 
and year = '2017';" 
'''

maxValue = os.popen(hqlCommand).read()
print(maxValue)
print(len(hqlCommand.strip()))

 

最后要注意的是变量的值中含有空格,需要做去空格处理。

 

posted @ 2017-10-09 15:50  硅谷工具人  阅读(4327)  评论(0编辑  收藏  举报
成功之道,在于每个人生阶段都要有不同的目标,并且通过努力实现自己的目标,毕竟人生不过百年! 所有奋斗的意义在于为个人目标实现和提升家庭幸福,同时能推进社会进步和国家目标! 正如古人讲的正心诚意格物致知,修身齐家治国平天下。