【问题标题】: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 版本
  • 这个火花有什么关系?

标签: sql hadoop apache-spark hive bigdata


【解决方案1】:

试试这个方法

select CAST([id] as int) as id from tablename where ISNUMERIC([id])=1

【讨论】:

  • 对不起,现在 hive isumeric 函数不存在........我遇到了这个函数的问题..
  • 这个答案完全不正确,因为 isumeric 不是 Hive 函数。
  • 错误答案。 OP 要求提供蜂巢示例。在 hive 中 isnumeric 不可用。
  • Hive 中没有isnumericfunction,但类似的功能可以通过select count(*) from <tableName> where cast(<colName> as double) is not NULL 之类的查询或select count(*) from <tableName> where <colName> rlike '[^0-9]' ; 之类的正则表达式通过两种方式实现
猜你喜欢
  • 1970-01-01
  • 2020-07-18
  • 2013-08-08
  • 2015-10-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多