在配置单元查询中,您可以指定一个条件,例如“coulm1是INT”吗?

时间:2015-09-02 10:59:19

标签: hive

我想查询一个hive表,仅用于那些只将coulmn1作为整数值的行。由于一些数据损坏,没有这个检查,我得到了大量的垃圾数据,我想通过应用where1在哪种情况下删除该数据的条件,但我在hive中找不到类似的东西。谁能建议我怎么做呢?

2 个答案:

答案 0 :(得分:0)

如果没有任何示例数据,我会建议一些非常基本的东西:

  • 将列X定义为STRING
  • 检查X = cast(cast(X as INT) as STRING)

您可能需要为空格,零填充等添加一些容差,具体取决于您的"整数"实际上是格式化的。

答案 1 :(得分:0)

找到一个有效的解决方案: 我可以在下面添加一个双数字检查,除了数字之外的任何东西都会使它为空。此外,列的有效数字永远不会超过Double范围。 所以我们可以做下面的事情,我想:

" select * from table_example where cast(column1 as double)不为null"

相关问题