原谅我张嘴可能就想骂人,当然跟别人无关,想骂的是自己太年轻,也顺便记录下这个注意点。

菜鸟一只,多多见谅!!

大家都知道,hive -f 后面指定的是一个文件,然后文件里面直接写sql,就可以运行hive的sql,hive -e 后面是直接用双引号拼接hivesql,然后就可以执行命令。

但是,有这么一个东西,我的sql当中有一个split切割,暂且先不管这个分割的业务逻辑是什么,但是当中有一段是用小数点(.)来分割字符串的,因为小数点是一个比较特殊的符号,所以前面要加上两个反斜杠来代表这是一个单纯的小数点(.),那么问题就来了!!

当我手动执行hive的时候,我是通过hive -f 执行的,得到的结果数据大约有5000W条,然而我把一样的sql放到kettle中执行(注:kettle中我不愿意在服务器的某个地方写个文件来存放sql,这样后面的人也不好维护,还要去服务器上看我的sql文本,所以kettle中我直接hive -e 执行),结果我发现kettle出来的数据只有50W,你说滑稽不滑稽。。。。

经过折磨,最后在同事的帮助下,我们发现,hive -e "要执行的sql",这种在引号里面使用2个反斜杠,会出现问题,具体什么问题,我还说不太清楚,但是双引号里面用2个反斜杠确实是会有些冲突(因为hive -f 没有使用到双引号,应该是把这个文本直接传入到hive的类当中,所以没有这样的问题)

因此使用hive -e "要执行的sql" 这种方式跑数据,千万千万看看有没有反斜杠,多关注下反斜杠和双引号是否会冲突,这里我测出来,如果要使用 \\ ,就要替换成\\\\

所以:

 select split(split(split(url,'/')[size(split(url,'/'))-1],'\\.')[0],'~')[0]

需要替换成

 select split(split(split(url,'/')[size(split(url,'/'))-1],'\\\\.')[0],'~')[0]

这样就没有问题了!F***K~

最后总结下:如果你在hive中直接执行该命令,那么就只能有\\否则不生效,如果是hive -e(或者说sql命令外面有双引号引起来的),那么就需要用\\\\

hive -e 和hive -f 的注意点 (//和////)相关推荐

  1. hadoop离线阶段(第十三节)数据仓库、hive简介、hive安装和hive的三种交互模式

    目录 数据仓库 数据仓库的基本概念 数据仓库的主要特征 数据仓库与数据库区别 数据仓库分层架构 数据仓库元数据管理 Hive简介 什么是Hive Hive的特点 Hive架构 Hive与Hadoop的 ...

  2. 认识Hive,以及Hive的数据定义与数据操作,hive的数据查询和hive函数

    认识Hive 为什么要出现hive 前面知识我们讲到mapreudce计算框架,各位需要通过java编码的形式来实现设计运算过程,这对各位的编程能力提出了更高的要求,难道没有门槛更低的方式来实现运算的 ...

  3. Hive第一天——Hive介绍以及简单使用

    Hive第二天--Hive介绍以及简单使用 自己的话:黑发不知勤学早,白首方悔读书迟 每天都要保持前进! 一.什么是Hive 数据库: mysql.oracle.sqlserver.DB2.sqlit ...

  4. 《Hive系列》Hive详细入门教程

    目录 1 Hive基本概念 1.1 什么是Hive Hive简介 Hive:由FaceBook开源用于解决海量结构化日志的数据统计工具 Hive:基于Hadoop的一个数据仓库工具,可以将结构化的数据 ...

  5. 2、Hive:启动Hive

    目录 1 初始化元数据库 1)登陆MySQL 2)新建Hive元数据库 3)初始化Hive元数据库 2 启动Hive 1)先启动hadoop集群 2)启动Hive 3)使用Hive 4)开启另一个窗口 ...

  6. Hive学习——单机版Hive的安装

    目录 一.基本概念 (一)Hive概念 (二)优势和特点 (三)Hive元数据管理 (四)Hive架构 (五)Hive Interface – 其他使用环境 二.Hive环境搭建 1.自动安装脚本 2 ...

  7. Hive Sql 大全(hive函数,hive表)

    Hive Sql 大全 本节基本涵盖了Hive日常使用的所有SQL,因为SQL太多,所以将SQL进行了如下分类: 一.DDL语句(数据定义语句): 对数据库的操作:包含创建.修改数据库 对数据表的操作 ...

  8. 【Hive】《Hive编程指南》梳理

    转载请注明出处 第1章  基础知识 Hive不支持事务(标注:低版本不支持,高版本ACID支持) Hive不支持OLTP(联机事务处理)所需要的关键功能,而更接近成为一个OLAP(联机分析技术)工具. ...

  9. Hive:解决Hive创建文件数过多的问题

    Hive:解决Hive创建文件数过多的问题 参考文章: (1)Hive:解决Hive创建文件数过多的问题 (2)https://www.cnblogs.com/wcwen1990/p/7600161. ...

  10. hive 安装_7.Hive介绍以及安装

    hive简介 Hive : 数据仓库. Hive:解释器,编译器,优化器等. Hive 运行时,元数据存储在关系型数据库里面. Hive架构 1.Hive将元数据存储在数据库中,如mysql.derb ...

最新文章

  1. 对LinqtoExcel的扩展 【数据有限性,逻辑有效性】
  2. 词典建立过程缓慢的解决~~子系统构架重新设计!
  3. jdk动态代理实现原理
  4. 常用的时间字符串转换
  5. 075-SSH遇到不能登陆的情况
  6. idea(二)初次安装强烈建议修改的配置
  7. Boost:字符串转换实例
  8. 洛谷3605 Promotion Counting
  9. [转载] Java泛型详解:<T>和Class<T>的使用。泛型类,泛型方法的详细使用实例
  10. yum 安装包的用法
  11. java8 stringbuilder_有了Java8的“+”真的可以不要StringBuilder了吗
  12. 微信引擎插件会对小游戏带来怎样的利好?(深度解读)
  13. WARN No appenders could be found for logger的解决方法
  14. 百旺开票清单导入模板_半年来最爱的高效率工具滴答清单不为人知的使用技巧...
  15. 复联3观影指南丨漫威宇宙里的AI黑科技
  16. Sorted Adjacent Differences
  17. 歌曲排行榜html页面,音乐组合排行板_音乐排行榜网页模板
  18. 落地,请开手机李小晚【转】
  19. 软考相关/初级程序员上午场
  20. FINWEX MDUKEY专题AMA精彩回顾

热门文章

  1. action mailbox
  2. 程序员连续剧_每个程序员都应该看的5部最佳电视连续剧
  3. 传感器测试--声音采集与FFT 分析
  4. 推荐系统系列一:推荐系统介绍
  5. ceiling函数的使用
  6. 知识图谱之问答系统学习笔记
  7. Spring Security(5) 整合OAuth2
  8. linux ata4 serror,linux系统救援模式解决开机引导失败问题
  9. qq和微信收不到新邮件提醒
  10. EXCEL某一列中每100个数求平均值