如何从配置单元中的数字列获取格式错误或字符串类型数据?

时间:2014-09-27 21:18:28

标签: hive

我有一个包含以下记录的列ID(数据类型整数):

1
2
NULL
x
y

当hive自动将xy转换为NULL时,我首先将id列转换为字符串。现在我希望count(id)其中id不是来自[0-9]而且也不是NULL。在我的情况下,计数应为2,但它不适用于xy。在我的例子3中,我也得到了NULL的数量。

我尝试过使用LIKERLIKE以及regexp_extract(id,'\&q=([^\&]+)

有人可以建议我如何实现这个目标吗?

1 个答案:

答案 0 :(得分:0)

我尝试了类似的东西,它对我有用。我用你的数据创建了一个外部表:

CREATE EXTERNAL TABLE temp_count (count STRING)  ROW FORMAT DELIMITED 
  FIELDS TERMINATED BY '\t' LOCATION 'user/$username/data'

现在我正在运行这样的查询: (编者)

select count(*) from (select (count - count) as value from temp_count where count != 'NULL')q1 where value is NULL;

我得到2作为输出。

如果我在这里错过了什么,请告诉我