错误一:

Hive的where后不能用字段的别名,

错误二:

hive的groupby中不能用自己定义函数,否则报错(用嵌套select取代)

错误三:

运行:$ ./hive_game_operationstatis5.sh时,报错信息例如以下:

./hive_game_operationstatis5.sh:line 11: [: missing `]'
./hive_game_operationstatis5.sh:line 17: /tmp/statis_activitysourcestatis20141014/statis_activitysourcestatis120141014.txt:No such file or directory
./hive_game_operationstatis5.sh:line 36:/tmp/statis_activitysourcestatis20141014/statis_activitysourcestatis220141014.txt:No such file or directory
ERROR 2 (HY000) atline 1: File'/tmp/statis_activitysourcestatis20141014/statis_activitysourcestatis120141014.txt'not found (Errcode: 2)
ERROR 2 (HY000) atline 1: File'/tmp/statis_activitysourcestatis20141014/statis_activitysourcestatis220141014.txt'not found (Errcode: 2)

错误分析:

因为11行的创建文件夹代码没起作用,所以导致后边一系列找不到文件路径的错误。

报错时的代码:

if [ ! -d $output]
then
mkdir -p $output
fi<span style="font-family: Arial, Helvetica, sans-serif;"> </span>

改动后的代码:

if [ ! -d $output]
then
mkdir -p $output
fi

看到区别了没??$output与]之间应该有个空格!

错误四:date不能识别

运行./hive_game_operationstatis6.sh脚本时。报错例如以下:

./hive_game_operationstatis6.sh:line 12: [: /tmp/statis_suspendedwindowstatisdate: binary operator expected
./hive_game_operationstatis6.sh:line 21: $output/$file_name1: ambiguous redirect
./hive_game_operationstatis6.sh:line 39: $output/$file_name2: ambiguous redirect
./hive_game_operationstatis6.sh:line 56: $output/$file_name3: ambiguous redirect
./hive_game_operationstatis6.sh:line 73: $output/$file_name4: ambiguous redirect
./hive_game_operationstatis6.sh:line 90: $output/$file_name5: ambiguous redirect

分析:

在shell脚本中我是这样写:

output='/tmp/statis_suspendedwindowstatis'$date
file_name1='statis_suspendedwindowstatis1'$date'.txt'

错误显示是指调用时”模糊的重定向”!

单从错误提示上看不出个所以然来。请直接看出错代码:

改动之前代码:

date=’date +%Y%m%d’

改动此bug之后代码:

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

大家看到哪里出错了没??哈哈,是的,太坑啦!

shell要用键盘上1前边的‘撇’,而不能用双引號那个‘撇’儿。

假设一个变量后是字符串的话直接用回车左边那个’撇‘就能够,

对于我这个初次接触shell的人。简直头疼到了极点!

希望大家不要犯类似的错误。


写hive sql和shell脚本时遇到几个蛋疼的问题!的更多相关文章

  1. 执行shell脚本时提示bad interpreter:No such file or directory的解决办法

    执行shell脚本时提示bad interpreter:No such file or directory的解决办法 故障现象:在终端直接cd /var正常,在shell脚本中执行则报错.原因是脚本是 ...

  2. python调用shell脚本时需要切换目录

    最近遇到了一个问题,就是python代码调用shell脚本时,发现输入输出的文件,总是和自己预想的有偏差,但是单独在linux下执行命令的时候,却没有错误.后来发现是相对路径的问题,因为执行pytho ...

  3. hive streaming 使用shell脚本

    一.HIVE streaming 在Hive中,需要实现Hive中的函数无法实现的功能时,就可以用Streaming来实现.其原理可以理解成:用HQL语句之外的语言,如Python.Shell来实现这 ...

  4. 批量执行 sql 的 shell 脚本

    最近有用到需要批量导入N个表的sql,一个个导入会吐老血的,写了个shell脚本,便捷导入. 通常我们导入单个sql,可以用 $mysql -uroot -p world < xxxx.sql ...

  5. linux执行shell脚本时提示bad interpreter:No such file or directory的解决办法

    故障现象:在终端直接cd /var正常,在shell脚本中执行则报错.原因是脚本是在windows平台下写的,换行符与Linux不同,造成脚本不能正确执行 出现bad interpreter:No s ...

  6. 执行shell脚本时提示/bin/sh^M: bad interpreter: No such file or directory

    执行脚本时提示解释器有问题,错误提示如下: 这种提示一般是脚本在windows系统之通过记事本写的,记事本修改过的文本,会默认在文本前面加上一些看不到的标记,导致shell脚本不能被shell解释器识 ...

  7. 关于shell脚本时遇value too great for base (error token is "08")

    今天在书写一个定时cp脚本时遇到了一个问题,value too great for base (error token is "08") 在网上查看到原来是以0开头的数字 系统会默 ...

  8. centos分配IP脚本--写的第一个shell脚本

    IDC小菜鸟一枚,非科班出身.常常有客户的centos服务器需要分配15个IP甚至30个IP.每次需要手动分配十分麻烦,于是花了一天时间学了shell脚本,写了这个脚本. #!/bin/bash re ...

  9. linux脚本错误: line *: [: missing `]',linux编写shell脚本时的注意点

    转载:https://www.cnblogs.com/bovenson/p/4548079.html 关于shell的一些注意点,粘贴自拉钩教育精选评论:测试开发核心技术 46 讲-->第6讲 ...

随机推荐

  1. OSPF理论总结

    OSPF学习总结一.OSPF协议的报文类型: 1. Hello 报文:主要用来发现.建立和维护邻居关系. 2. DD报文:数据库的描述报文,主要用来两台路由器的数据库同步. 3. LSR报文:链路状态 ...

  2. Windown安装Mysql安装图解

    一.MYSQL的安装 1.打开下载的mysql安装文件mysql-5.0.27-win32.zip,双击解压缩,运行“setup.exe”. 2.选择安装类型,有“Typical(默认)”.“Comp ...

  3. 读书笔记:《重来REWORK》

    读书笔记:<重来REWORK> <重来Rework--更为简单有效的商业思维>这本书是看了别人的书单而购买的,初 拿到这本书翻看时,感觉有两点与平常的书不同,一是每个小节非常短 ...

  4. Nginx使用ngx_zeromq模块返回502错误的解决方法

    /*********************************************************************  * Author  : Samson  * Date   ...

  5. php 禁止 URL 直接访问 php文件

    通过判断访问来源来实现. $fromurl="http://www.111.com/index.php"; //只能从这个地址访问 if( $_SERVER['HTTP_REFER ...

  6. 官网下载qt-opensource-windows-x86-mingw482_opengl-5.3.1.exe。封装好了Qt libraries、Qt Creator。只需要这一个可执行程序就好了。

    官网下载qt-opensource-windows-x86-mingw482_opengl-5.3.1.exe( http://qt-project.org/downloads).这个可执行程序已经为 ...

  7. 简介支持向量机热门(认识SVM三位置)

    支持向量机通俗导论(理解SVM的三层境地) 作者:July .致谢:pluskid.白石.JerryLead.出处:结构之法算法之道blog. 前言 动笔写这个支持向量机(support vector ...

  8. Windows Phone开发(1):概论

    原文:Windows Phone开发(1):概论 Windows Phone是微软公司开发的手机操作系统,这里就不多介绍,和Android,iPhone一样运行在智能手机上,相信大家都很熟悉. 目前来 ...

  9. Android定义自己的面板共享系统

    在Android分享知道有一个更方便的方法.调用的共享面板来分享我们的应用程序的系统.主要实现例如,下面的: public Intent getShareIntent(){ Intent intent ...

  10. 疯狂Java学习笔记(84)----------大约 Java 对象序列化,你不知道 5 事

    几年前,.当一个软件团队一起用 Java 书面申请.我认识比一般程序猿多知道一点关于 Java 对象序列化的知识所带来的优点. 关于本系列 您认为自己懂 Java 编程?其实,大多数程序猿对于 Jav ...