shell中执行hive语句

1.执行select查询

$HIVE_HOME/bin/hive -e 'select a.col from tab1 a'

$HIVE_HOME/bin/hive -e "use mydb;select a.col from tab1 a where a.dt='2015-01-07';"

 

2.加入配置变量的查询

$HIVE_HOME/bin/hive -e 'select a.col from tab1 a' -hiveconf hive.exec.scratchdir=/home/my/hive_scratch  -hiveconf mapred.reduce.tasks=32

 

3.查询结果输出为文本

 $HIVE_HOME/bin/hive -S -e 'select a.col from tab1 a' > a.txt

 

4.执行sql语句文件

$HIVE_HOME/bin/hive -f /home/my/hive-script.sql

 

 

#!/bin/bash  
#设置日志文件存放目录
cd /
cd /home/deploy/recsys/workspace
yesterday=$(date -d '-1 day' '+%Y-%m-%d')
$HIVE_HOME/bin/hive -e "use mydb;ALTER TABLE mytable ADD PARTITION (dt = '$yesterday') LOCATION '/user/hive/warehouse/tail/$yesterday/';"

#$HIVE_HOME/bin/hive -e "use mydb;select msec from mytable where dt='2015-01-07'"
 

供您思考的问题

 hive sql && mapreduce job 

第一个命令 然后跟个空格然后跟两个&& 然后跟第二个命令
第一个命令不正确执行完毕是不会执行第二个命令的。

不知道对不对?

 

 

猜你喜欢

转载自liyonghui160com.iteye.com/blog/2173931
今日推荐