当我使用 DESCRIBE
我在Pig产量中看到很多双冒号,它们的意思并不明显。
例如,在分组和展平之后,我看到如下内容: key::observerId:chararray,key::endpoint:chararray,...
在某个时刻,我按observerid和endpoint分组,将组元组重命名为“key”,然后重新引用。那么,双冒号到底是什么意思,我应该如何引用第一个关系(key?观察者ID?)
当我使用 DESCRIBE
我在Pig产量中看到很多双冒号,它们的意思并不明显。
例如,在分组和展平之后,我看到如下内容: key::observerId:chararray,key::endpoint:chararray,...
在某个时刻,我按observerid和endpoint分组,将组元组重命名为“key”,然后重新引用。那么,双冒号到底是什么意思,我应该如何引用第一个关系(key?观察者ID?)
1条答案
按热度按时间c3frrgcw1#
在您的问题中::是消歧运算符,用于在join、cogroup、cross或flatten运算符之后标识字段名。您可以在这里找到一个使用消歧运算符的示例。
在您的示例中,有两个字段observerid和endpoint,它们都由密钥别名标识,这意味着observerid和endpoint都在同一个别名中引用,而其他“observerid和endpoint”可能引用到其他“密钥”别名。
我想你用了以下的方法:
基于这一点,你会看到如下情况:
上面这句话的意思是,您看到的observerid和endpoint是key别名的一部分,而不是otherkey别名。