我一直在嘗試檢查一組用戶的percentile_approx。這背後的意圖是獲得數據集中前25%的客戶。所以,爲了檢查,我運行了以下HIVE查詢。百分點百分比在配置單元返回零
select percentile_approx(amount, 0.75)
from sales
然而,從該查詢返回的值是0.0
。我不確定問題是什麼。當我通過少量記錄的樣本運行此查詢時,結果就是預期的結果。
任何人都可以請擺脫這一點?
注 - 我試圖找到包含超過3.3 M記錄的數據集中的百分位數。
我一直在嘗試檢查一組用戶的percentile_approx。這背後的意圖是獲得數據集中前25%的客戶。所以,爲了檢查,我運行了以下HIVE查詢。百分點百分比在配置單元返回零
select percentile_approx(amount, 0.75)
from sales
然而,從該查詢返回的值是0.0
。我不確定問題是什麼。當我通過少量記錄的樣本運行此查詢時,結果就是預期的結果。
任何人都可以請擺脫這一點?
注 - 我試圖找到包含超過3.3 M記錄的數據集中的百分位數。
select percentile_approx(cast(amount as double), ARRAY(0.75))
from sales
嘗試此方法
我們可以看到您所做的更改 - 但解釋爲什麼您的更改可以解決OP的問題總是很有用。 – Tom 2017-05-10 07:44:21
通常percentile_approx()適用於整數類型的數據。請確保您已將此應用於具有整數的列。
也許先試試樣?例如: 'select percentile_approx(amount,0.75) from sales tablesample(0.01 percent)' – Sean 2016-06-22 17:23:24