Hadoop 配置单元中的T-SQL isnumeric()替换

Hadoop 配置单元中的T-SQL isnumeric()替换,hadoop,mapreduce,hive,Hadoop,Mapreduce,Hive,hive 0.10中T-SQLisnumeric()函数的替代品是什么 http://technet.microsoft.com/en-us/library/ms186272.aspx HIVE中没有直接的等效功能,但您可以使用cast功能。 将任何不是“数值”的内容强制转换为double将返回null,您可以这样使用它: 从cast(字段为double)不为空的表中选择x您可以通过下面的检查来检查数字是否为十进制。这也可以在where子句中给出 当abs(x%1)>0时选择case,然后选择

hive 0.10中T-SQL
isnumeric()
函数的替代品是什么

http://technet.microsoft.com/en-us/library/ms186272.aspx

HIVE中没有直接的等效功能,但您可以使用
cast
功能。
将任何不是“数值”的内容强制转换为
double
将返回null,您可以这样使用它:

从cast(字段为double)不为空的表中选择x

您可以通过下面的检查来检查数字是否为十进制。这也可以在where子句中给出


当abs(x%1)>0时选择case,然后选择x else cast(x为bigint)结束

我试过这个,但它一直让字母数字字符通过。这是因为“select cast('7E7'为双精度)”解析为“7000000”,不为空-因此使用“select x from table where cast(字段为int)不为空”