如何测试蜂巢中的数字条件?
Posted
技术标签:
【中文标题】如何测试蜂巢中的数字条件?【英文标题】:How to test isnumeric condition in hive? 【发布时间】:2016-04-12 05:11:17 【问题描述】:我有数据 ID 列,它包含数字和字母,我只想要数字 ID 列表,是否有相同的内置条件,我想稍后转换数据。 我在 SQL 中知道为
'CASE WHEN ISNUMERIC([id])=1 THEN CAST([id] as int) ELSE 0 END [ID]'
hive 中的查询是什么? 请帮忙。
【问题讨论】:
您的查询到底是什么? 我有 varchar 数据类型的数据,我想将其转换(转换)为 int 类型,前提是它包含数字字符.. 您使用的是哪个 Hive 版本? CDH 5.4 ,在那个蜂巢有 1.1.0 版本 这个火花有什么关系? 【参考方案1】:试试这个方法
select CAST([id] as int) as id from tablename where ISNUMERIC([id])=1
【讨论】:
对不起,现在 hive isumeric 函数不存在........我遇到了这个函数的问题.. 这个答案完全不正确,因为 isumeric 不是 Hive 函数。 错误答案。 OP 要求提供蜂巢示例。在 hive 中 isnumeric 不可用。 Hive 中没有isnumeric
function,但类似的功能可以通过select count(*) from <tableName> where cast(<colName> as double) is not NULL
之类的查询或select count(*) from <tableName> where <colName> rlike '[^0-9]' ;
之类的正则表达式通过两种方式实现以上是关于如何测试蜂巢中的数字条件?的主要内容,如果未能解决你的问题,请参考以下文章