在计算Hive中的百分位数时处理Null

问题描述 投票:0回答:1

在计算百分位数时,在处理null时遇到一些麻烦。以下是示例数据。

enter image description here

正在使用的代码: percentile(column_1,array(0,0.25,0.50,0.75,1))as column_1_p

这里在计算百分位数时也会考虑空值。但是我需要消除它们,而仅使用其他有效值来计算百分位数。我找不到执行此操作的任何其他功能。

Data:值的范围从零到1000。我无法用零代替空值,因为我已经在数据中添加了零。

高度赞赏这里的任何帮助。

提前感谢。

sql hive hiveql
1个回答
0
投票

使用coalesce()

percentile(coalesce(column_1, 0), array(0, 0.25, 0.50, 0.75, 1))

或者如果您想考虑其他columns

percentile(coalesce(column_1, column_2, column_3..., 0), array(0, 0.25, 0.50, 0.75, 1))
© www.soinside.com 2019 - 2024. All rights reserved.