一、环境
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任务