Hive和Impala中substring用法差异

简介: Hive和Impala中substring用法差异

前言

最近一个小伙伴,突然接到业务抛出来的一个问题,说XX表的XX字段没有数据。那赶紧去Hue上去排查一下吧,在Hive上执行没问题,但在Impala上执行确实没有数据;通常业务那边使用Impala进行查询分析数据,这个小伙伴新来的,不太了解情况,以为在Hive上跑成功了就可以了,并没有在Impala上进行验证,才有了上述问题的出现。

好了,对代码进行了简化,大概长这个样:

select substring(tradetime,0,8) from test; -- 截取tradetime的前八位日期数据

事情很明了了,那么问题就出在substring这个函数上了!今天就来看下substring在Hive 和 Impala中用法有啥差异吧!

Hive中的substring语法

语法1:截取从start开始到末尾的字符串

substring(string A,int start)

语法2:截取从start开始,length长度的字符串

substring(string A, int start,int length)

string A:输入需要处理的字符串

int start:开始截取的位置索引,int类型

int length:截取的长度,int类型

Impala中的substring语法

语法1:截取从start开始到末尾的字符串

substring(string a,int start)

语法2:截取从start开始,length长度的字符串

substring(string a, int start,int len)

string a:输入需要处理的字符串

int start:开始截取的位置索引,int类型

int len:截取的长度,int类型

差异

从语法定义上看是没有区别的,但是start的取值则是有差异的:

Hive中,start输入0和1结果相同,表示从头开始计算

Impala中,如果从头开始计算,start输入必须是1,否则输入0的话,就会出现数据为NULL的问题。

注意:start是可以设置为负数的,Hive和Impala输出的结果是没有差别的。

相关文章
|
7月前
|
SQL 分布式计算 Hadoop
Hive使用Impala组件查询(1)
Hive使用Impala组件查询(1)
162 0
|
7月前
|
SQL HIVE
Hive新增表在Impala查不到问题解决
Hive新增表在Impala查不到问题解决
80 0
|
7月前
|
SQL 存储 Java
Hive使用Impala组件查询(2)
Hive使用Impala组件查询(2)
85 0
|
9月前
|
SQL HIVE 数据安全/隐私保护
Hive Impala和Hue集成LDAP
Hive Impala和Hue集成LDAP
166 0
|
SQL 分布式计算 Oracle
sqoop用法之mysql与hive数据导入导出
Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(例如:MySQL、Oracle、Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。对于某些NoSQL数据库它也提供了连接器。Sqoop,类似于其他ETL工具,使用元数据模型来判断数据类型并在数据从数据源转移到Hadoop时确保类型安全的数据处理。Sqoop专为大数据批量传输设计,能够分割数据集并创建Hadoop任务来处理每个区块。
858 0
|
SQL 存储 分布式计算
安装部署--hadoop、hive 配置修改&impala 配置 | 学习笔记
快速学习 安装部署--hadoop、hive 配置修改&impala 配置
465 0
安装部署--hadoop、hive 配置修改&impala 配置 | 学习笔记
|
SQL HIVE
【Hive】函数 instr 的用法
【Hive】函数 instr 的用法
753 0
|
SQL 分布式计算 算法
Hive 中的四种排序详解,再也不会混淆用法了
排序操作是一个比较常见的操作,尤其是在数据分析的时候,我们往往需要对数据进行排序,hive 中和排序相关的有四个关键字,今天我们就看一下,它们都是什么作用。
559 0
Hive 中的四种排序详解,再也不会混淆用法了
|
SQL 分布式计算 Hadoop
Cloudera-manager(CDH6.3.0)大数据平台搭建一指禅(impala,kudu,hdfs,hive,kafka,yarn,spark,hbase,hue)
Cloudera-manager(CDH6.3.0)大数据平台搭建一指禅指南(impala,kudu,hdfs,hive,kafka,yarn,spark,hbase,hue) CHD6,大量hadoop生态的重大更新升级,果断把现有系统升级到CHD6上。
4281 0