2017-02-14 22 views
1

我們有一個包含約10億行和值類型爲Double的值列的Impala表。當我們運行相同的'選擇{維度},表格組中的總和(值){維度}'在同一張表上連續查詢多次時,每次我們得到的總和會略有不同。當我們對四捨五入的值進行求和時也會發生這種情況造成這種差異的原因是什麼?有什麼辦法可以解決這個問題嗎?Impala查詢結果中的數值發生變化

回答

2

由於Impala查詢的執行是分佈式的,發生某種計算的順序可能會因網絡變化或其他過程而變化,並且由於浮點運算不是關聯的 [1],這會導致您的行爲看到了。這正是爲什麼DECIMAL datatype存在。

+0

這對一個測試數據集起作用。在我們現有的表中改變模式以從DOUBLE切換到DECIMAL的最佳方式是什麼? – Vishakh