經常看到人們使用group by和join爲同一個問題,假設我有一張學生表和score table,想要查找與相關課程分數相關的student name。我們似乎可以通過使用連接或使用group by來解決此問題?想知道這兩種解決方案的優缺點。在下面發佈數據結構和代碼。謝謝。加入並在Hadoop中分組Pig
table students:
student ID, student name, student email address
score table:
student ID, course ID, score
student_scores = group students by (studentId) inner, scores by (studentId);
student_scores = join students by student Id, scores by studentId;
的[加入VS豬協同組(可能的複製http://stackoverflow.com/questions/7496029/join-vs-cogroup-in-pig) – rahulbmv
@rahulbmv,很好的參考和投票。 :) 但我正在問組v.s.加入,你指的是共同組?謝謝。 –
@rahulbmv,我也很困惑於評論中的「外鍵」是什麼意思 - 「兩者都需要用鍵作爲外鍵發送所有記錄」,如果你能夠展示一個例子,它會很棒。 –