千家信息网

怎样实现PIG中COGROUP中的空值验证

发表于:2024-09-30 作者:千家信息网编辑
千家信息网最后更新 2024年09月30日,这篇文章将为大家详细讲解有关怎样实现PIG中COGROUP中的空值验证,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。环境: 0.10.0COGROUP
千家信息网最后更新 2024年09月30日怎样实现PIG中COGROUP中的空值验证

这篇文章将为大家详细讲解有关怎样实现PIG中COGROUP中的空值验证,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

环境: 0.10.0
COGROUP : 2+个关系中做分组

最近做一个PIG类的项目,重新看了下PIG,顺便做总结。看到COGROUP时感觉有些问题

官方:http://pig.apache.org/docs/r0.8.1/piglatin_ref2.html

A = load 'student' as (name:chararray, age:int, gpa:float);B = load 'student' as (name:chararray, age:int, gpa:float);dump B;(joe,18,2.5)(sam,,3.0)(bob,,3.5)X = cogroup A by age, B by age;dump X;(18,{(joe,18,2.5)},{(joe,18,2.5)})(,{(sam,,3.0),(bob,,3.5)},{})(,{},{(sam,,3.0),(bob,,3.5)})

很难理解的是为什么age是空的会有2条数据?参考其他博客看下COGROUP的用法,发现不是这样。

编码无悔博客:http://www.codelast.com/?p=3621

后来自己造了一批数据来尝试没有空值和有空值的COGROUP.

CA:     (jack,32,run)     (liza,22,eat)     (tom,20,mouse)CB:     (jack,32,run)     (jerry,10,steal)     (tom,20,mouse)COGROUP:     (tom,{(tom,20,mouse)},{(tom,20,mouse)})     (jack,{(jack,32,run)},{(jack,32,run)})     (liza,{(liza,22,eat)},{})     (jerry,{},{(jerry,10,steal)})

加一个有空值的字段。

 CA:     (jack,32,run)     (liza,22,eat)     (,20,mouse)CB:     (jack,32,run)     (jerry,10,steal)     (,20,mouse)     COGROUP:     (jack,{(jack,32,run)},{(jack,32,run)})     (liza,{(liza,22,eat)},{})     (jerry,{},{(jerry,10,steal)})     (,{(,20,mouse)},{})     (,{},{(,20,mouse)})

分别加M和N个空值字段,数据量不会出现M*N个空值吧?不是2个就是个大坑,会放大数据量。

CA:     (jack,32,run)     (liza,22,eat)     (,200,mouse)     (,201,mouse)     (,202,mouse)     (,203,mouse)     (,204,mouse)     CB:     (jack,32,run)     (jerry,10,steal)     (,301,mouse)     (,302,mouse)     (,303,mouse)     (,304,mouse)     (,305,mouse)     (,306,mouse)     (,307,mouse)COGROUP:     (jack,{(jack,32,run)},{(jack,32,run)})     (liza,{(liza,22,eat)},{})     (jerry,{},{(jerry,10,steal)})     (,{(,200,mouse),(,201,mouse),(,202,mouse),(,203,mouse),(,204,mouse)},{})     (,{},{(,301,mouse),(,302,mouse),(,303,mouse),(,304,mouse),(,305,mouse),(,306,mouse),(,307,mouse)})

关于怎样实现PIG中COGROUP中的空值验证就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

0