在pig中双冒号到底是什么意思?

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

当我使用 DESCRIBE 我在Pig产量中看到很多双冒号,它们的意思并不明显。
例如,在分组和展平之后,我看到如下内容: key::observerId:chararray,key::endpoint:chararray,... 在某个时刻,我按observerid和endpoint分组,将组元组重命名为“key”,然后重新引用。那么,双冒号到底是什么意思,我应该如何引用第一个关系(key?观察者ID?)

c3frrgcw

c3frrgcw1#

在您的问题中::是消歧运算符,用于在join、cogroup、cross或flatten运算符之后标识字段名。您可以在这里找到一个使用消歧运算符的示例。
在您的示例中,有两个字段observerid和endpoint,它们都由密钥别名标识,这意味着observerid和endpoint都在同一个别名中引用,而其他“observerid和endpoint”可能引用到其他“密钥”别名。
我想你用了以下的方法:

key      = some_statement_with_observerID_and_endpoint
otherkey = some_statement_with_observerID_and_endpoint

基于这一点,你会看到如下情况:

key::observerId:chararray,key::endpoint:chararray,...

上面这句话的意思是,您看到的observerid和endpoint是key别名的一部分,而不是otherkey别名。

相关问题