2017-05-26 55 views
0

我试图在运行此查询我得到未能运行HIVE SQL类似下面的代码“NumberFormatException的对于输入字符串” HIVE

insert into table FactUpdated 
    select colm_name 
    from 
    (
    select colmn_name, floor(rand()*116219) rand_key 
    from FactTable limit 2942699191) line 
    join DimTable 
    on FactTable.rand_key = DimTable.id; 

:NumberFormatException的对于输入字符串:“2942699191”

我看起来像蜂巢中的限制条款在价值方面有一些限制。

有人可以帮助我解决这个问题。

PS:蜂房版1.2.1.2.4

回答

1

limit应该是一个整数。

2^31 - 1工作

select 1 
limit 2147483647 
; 

2^31超出范围,并返回相同的错误你

select 1 
limit 2147483648 
; 

LimitOperator.java

public class LimitOperator extends Operator<LimitDesc> implements Serializable { private static final long serialVersionUID = 1L; 

    protected transient int limit;  ... 
+0

是的,工作正常,有没有办法改变限制的数据类型或使用任何重载的类? –

+0

限制在源代码中定义为“int”(请参阅​​更新的答案)。无论如何,你的要求似乎没有多大意义。你在这里的动机是什么? –

+0

我需要有一个10B记录表,并且我必须从脚本生成7B记录,其余需要从同一个表中复制回来,在这种情况下,我需要复制2.94B。这是我想要达到的目标。 –

相关问题