apache pig 0.8.1双nan

qrjkbowd  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(387)

我有一个定制的pig存储输入机制,它将一堆摘要统计值(如偏度、峰度、中间值等)放入元组中。具体地说,这些数字被假定为双元组,所以双元组被放置在元组中。
问题是,当java端的偏度/峰度为nan时,它们似乎Map到pig中的nan,即使我已经将元组模式定义为“double”数据类型,我也不知道如何处理它们。
nan的排序似乎比最高的double高,所以按降序排序似乎将所有nan都放在第一位。我试过用“偏度不为空”来做一个过滤器,但那不起作用。
文档和google并没有告诉我如何使用这些值。我需要能够处理这些数字。
谢谢!

j5fpnvbx

j5fpnvbx1#

nan是“nota number”的缩写“处理这些数字”体现了一种基本的误解,即认为它们是数字。它们与数字没有意义上的可比性,因此它们没有正确的排序顺序。
你应该把它们过滤掉,或者找出它们的来源并修复它们。导致nan的方法是将一个空集的总值除以元素的个数,然后计算其算术平均值。
如果没有直接的“isnan”测试可用,可以通过特殊属性来检测它们,即nan不等于任何东西,甚至不等于它本身。

相关问题