【问题标题】:Numeric values changing in Impala query resultsImpala 查询结果中的数值变化
【发布时间】:2017-02-14 20:48:21
【问题描述】:

我们有一个大约 10 亿行的 Impala 表和一个 Double 类型的值列。当我们在同一张表上连续多次运行相同的“select {dimensions}, sum(value) from table group by {dimensions}”查询时,每次得到的总和都略有不同。当我们对四舍五入的值求和时也会发生这种情况。这种可变性的原因可能是什么?有没有办法解决这个问题?

【问题讨论】:

    标签: hadoop cloudera-cdh impala


    【解决方案1】:

    由于 Impala 查询的执行是分布式的,因此某些计算发生的顺序可能会因网络可变性或其他过程而有所不同,并且因为浮点运算不是关联的 [1],这可能会导致行为你看到了。这正是DECIMAL datatype 存在的原因。

    【讨论】:

    • 这适用于测试数据集。在我们现有的表中更改架构以从 DOUBLE 切换到 DECIMAL 的最佳方法是什么?
    猜你喜欢
    • 2015-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-14
    • 2018-09-24
    • 1970-01-01
    • 2023-03-10
    相关资源
    最近更新 更多