gpt4 book ai didi

null - Pig latin relaxed 等于 == 和 null?

转载 作者:行者123 更新时间:2023-12-01 04:41:58 25 4
gpt4 key购买 nike

在只有 1 行的关系 X 中

X.A=null
X.B= "blahblah"

现在我想做的是:

Y = FILTER X BY A != B ;

我想说的是,由于 A 为空而 B 不为空,因此条件应该为真。但实际结果是 Y 为空,条件计算结果为假。

这与 SQL 相同,其中任何涉及 null 的条件都为假。而 SQL 可以翻译null 与 NVL() 函数,PIG 似乎没有那个,有没有一种干净的方法来进行上述比较?

最佳答案

这有点 hack,但您可以进行比较并将结果存储在关系中,然后使用结果和原始比较进行过滤。

Y = foreach X generate *,
(((A is null and B is not null) or (A is not null and B is null) ? 'y' : 'n') as oneNull;
Y = filter Y by (oneNull == 'y' or A != B);
Y = foreach Y generate A, B;

使用这个,如果 X 是:

(,blahblah)
(blah,blah)
(,)
(blah,)
(abc,def)

那么 Y 将是:

(,blahblah)
(blah,)
(abc,def)

关于null - Pig latin relaxed 等于 == 和 null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10974621/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com