溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎樣實現(xiàn)PIG中COGROUP中的空值驗證

發(fā)布時間:2022-01-14 18:21:05 來源:億速云 閱讀:145 作者:柒染 欄目:云計算

這篇文章將為大家詳細講解有關怎樣實現(xiàn)PIG中COGROUP中的空值驗證,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

環(huán)境: 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條數(shù)據(jù)?參考其他博客看下COGROUP的用法,發(fā)現(xiàn)不是這樣。

編碼無悔博客:http://www.codelast.com/?p=3621

后來自己造了一批數(shù)據(jù)來嘗試沒有空值和有空值的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個空值字段,數(shù)據(jù)量不會出現(xiàn)M*N個空值吧?不是2個就是個大坑,會放大數(shù)據(jù)量。

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)})

關于怎樣實現(xiàn)PIG中COGROUP中的空值驗證就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI