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

菜鸟一只,多多见谅!!

大家都知道,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. 解决hash冲突的常用方法
  2. 为什么 GROUP BY 之后不能直接引用原表中的列?
  3. Android应用开发-广播和服务
  4. 二、制作最小linux系统
  5. JVM - Class常量池 || 运行时常量池
  6. Kubernetes环境下的各种调试方法
  7. 在从1到n的正数中1出现的次数
  8. 易创互联 php,易创网站管理系统(DIRCMS) 2011 SP3 UTF8
  9. 如何解决python中编码错误的问题_【总结】Python 2.x中常见字符编码和解码方面的错误及其解决办法...
  10. arcgis xml 下载 切片_xml格式文件如何用arcgis进行编辑和更新
  11. [转]对当前自然语言处理方法论中的一个疑惑
  12. linux 扫描开放的端口命令,在Linux系统中检查(扫描)开放端口的方法
  13. 龙骨导出html文件打不开,一种用于铝型材与龙骨的连接结构的连接件的制作方法...
  14. 过滤器 和 拦截器的 6个区别,别再傻傻分不清了
  15. 缓存应用(一)Ehcache使用介绍
  16. ubuntu16.04 lidar_align实现三维激光雷达和Imu联合标定
  17. ppt中如何合并流程图_PPT中流程图如何分支?
  18. 《数据清洗》——kettle基本工具的使用
  19. Linux基础系列(2命令帮助的详细获取)
  20. vscode的vue代码提示与补全没反应(vetur问题)

热门文章

  1. c0000218错误的解决
  2. 有2个学生,每个学生有3门课程的成绩,从键盘中输入学生数据(包括学号,姓名 3门课程成绩),计算出平均成绩,将原有数据和计算出的平均分数存放在磁盘文件stud中
  3. conda报错:因为动了mata site packages
  4. 2022-8-24 华为秋招笔试
  5. 1048--黑箱子-2023/1/3
  6. 【无标题】智慧工厂数字孪生建设方案
  7. hive comand
  8. iphone4s wifi修复
  9. windows输入模式切换
  10. 声卡loopback有什么用_解读声卡数据背后的秘密