一、环境
1、Hadoop 0.20.2
2、Hive 0.5
3、操作系统 Linux m131 2.6.9-78.8AXS2smp #1 SMP Tue Dec 16 02:42:55 EST 2008 x86_64 x86_64 x86_64 GNU/Linux
二、步骤
1、直接贴上脚本吧
#!/bin/bash
#give the params: name value tablename
if [ $# -eq 3 ]
then
name=$1
value=$2
tablename=$3
echo name=${name}
echo value=${value}
echo tablename=${tablename}
else
echo "Usage: $0 username username_value tablename"
exit 1
fi
cd /run/hie/kakadata
#1.select the dialaccount, srcip
cd /jz/hiveuser/hive.kaka/
echo "insert overwrite directory '/bcpdata/kaka/ad_ip_${name}_${value}' select distinct if(account<>'',account,0)
as account, if(account<>'', 0, ip) as ip from ${tablename} where ${name}='${value}'; " | /jz/hive-0.5.0-bin/bin/hive
2、需要注意的是这里用到了hive.kaka目录下的cli,所以如果这个控制端是开启的,那么需要先退出再执行这个脚本。
三、总结
1、采用shell脚本来执行一些查询语句可以简化很多的开发工作
2、可以利用Linux自身的一些工具,实现定时的job任务