如何去实现hive离线分析脚本

总共分为3步:
1.编写hql脚本
简单案例:
编写hql脚本:vim tongji1.hql
内容如下:

select * from fluxdb.tongji1 where reporttime='${statis_date}';

很简单就是一个表查询,没啥逻辑
保存退出后,记得 赋予执行权限:chmod +x tongji1.hql

2.编写bash脚本

#!/bin/bash
#source /etc/profile;

export HADOOP_HOME=/home/01/software/hadoop-2.7.1

statis_time=`date +%Y-%m-%d`

/home/01/software/hive-1.2/bin/hive -d statis_date=${statis_time} -f /home/01/temp/tongji1.hql >>/home/01/temp/tongji1_data_${statis_time}.txt 2>>/home/01/temp/tongji1_${statis_time}.log &

这里解释下:

>tongji1_data_${statis_time}.txt  #是将hivesql脚本查询的数据输入到tongji1_data.txt文件中,注意这里是覆盖,如果此文件存在且里面有数据则直接从前排开始覆盖,如果在执行脚本的时候tongji1_data.txt文件不存在,则自动在脚本所在目录下创建此文件
>>tongji1_data_${statis_time}.txt   #是将数据追加到数据文件中,与上面不同
2>tongji1_${statis_time}.log   # 是将脚本执行信息输入到日志文件中,以便后续排查问题,如果不需要日志信息则可以写成: 2>/dev/null
&    #是将脚本命令后台执行

3.配置定时任务
定时任务我这边用的是crontab去做的定时
执行crontab -e 命令 编辑该用户的定时任务
下面是每分钟执行一次(测试简单查询):

*/1 * * * * /home/01/temp/flux.sh
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值