hive: command not found错误解决
来源:互联网 发布:javascript视频网站 编辑:程序博客网 时间:2024/06/08 02:45
背景:在shell脚本中简单定义hive的命令,并且通过crontab定时任务机制去调度,实现定时动态添加hive表分区。
**环境:**hadoop2.5.2+hive0.14(0.13)+zk3.3
问题描述:
shell脚本如下:
target_date=`date '+%Y-%m-%d' -d "+2 days"`inc_mon=`date '+%Y%m' -d "0 days $target_date"`inc_day=`date '+%d' -d "0 days $target_date"`hive -e "use ODS_XXXXX;ALTER TABLE XXXXXXX ADD IF NOT EXISTS PARTITION (inc_mon='${inc_mon}',inc_day='${inc_day}') LOCATION '/db/ODS_XXXXXX/XXXXXX/${inc_mon}/${inc_day}'"
手动执行脚本测试是没有问题的,但是crontab定时执行则会出现“hive: command not found”错误。
原因及解决方案:
即便hive的环境变量已经设置成功,但是crontab中执行代码时,并不会解析到环境变量,需要在hive的安装目录下执行脚本,或者在shell脚本代码中配置定向到hive的安装路径下执行,在上边代码前面加上“source /etc/profile”和“locate /bin/hive”,如下:
source /etc/profilelocate /bin/hivetarget_date=`date '+%Y-%m-%d' -d "+2 days"`inc_mon=`date '+%Y%m' -d "0 days $target_date"`inc_day=`date '+%d' -d "0 days $target_date"`hive -e "use ODS_XXXXX;ALTER TABLE XXXXXXX ADD IF NOT EXISTS PARTITION (inc_mon='${inc_mon}',inc_day='${inc_day}') LOCATION '/db/ODS_XXXXXX/XXXXXX/${inc_mon}/${inc_day}'"
这样每次如果需要在shell脚本中写“hive -e”等hive命令,需要在前面加上“locate /bin/hive”,这样代码执行成功。
0 0
- hive: command not found错误解决
- bash: groupadd: command not found 错误解决[转]
- Ubuntu解决sudo: source: command not found错误
- 解决scp时报bash: scp: command not found的错误
- Ubuntu解决sudo: source: command not found错误
- Ubuntu解决sudo: source: command not found错误
- Linux 出现-bash: grunt: command not found 错误解决
- Ubuntu解决sudo: source: command not found错误
- centos解决bash: service: command not found 错误
- Ubuntu解决sudo: source: command not found错误
- rake, command not found 错误
- command not found错误原因
- lsb_release: command not found 解决
- 解决g++:command not found
- 解决 Express Command not found
- gulp: command not found 解决
- 解决mvn command not found
- 解决mkimage" command not found
- 手动关闭某个cpu
- 这5种必知的大数据处理框架技术,你的项目到底应该使用其中的哪几种
- WCF身份验证之用户名密码认证
- Spring学习(五)OpenSessionInView
- 摩拜单车
- hive: command not found错误解决
- selenium学习笔记(一)
- VS2010下对话框添加菜单栏和工具栏及其启用,禁用同步
- selenium+jenkins网页自动化测试的构建
- Ajax GET请求
- jface databinding:使用CheckboxTableViewer实现表中(Set)对象与CheckTable中选中条目数据绑定
- 计算机网络(谢希仁第六版)3-24和3-25整理
- request.getSession(false)和request.getSession(true)用法区别
- linux下串口编程简单实例