2016-06-02 8 views
1

In Apache Pig 0.15, habe ich zwei einfache Listen (OHNE ID/Primärschlüssel, etc.), die ich zusammenführen möchte, um eine Liste von Tupeln mit zwei Spalten zu erstellen. Beispiel:Schweine Merge Listen ohne Schlüssel

Names 
----- 
Peter 
John 
Anne 

Ages 
----- 
45 
23 
44 

Ich mag am Ende mit:

Names Age 
--------------- 
Peter 45 
John 23 
Anne 44 

ich weiß, ich RANK auf beiden Listen verwenden kann und dann beitreten, aber das sieht viel zu teuer, wie ich Millionen von Einträgen in diesen habe Listen. Ich möchte ein JOIN mit "merge" machen, ohne einen Join-Parameter zu haben ...

Irgendeine Idee, wie man das in Apache Pig effizient macht?

Antwort

0

Wenn Sie sich nicht um die Zuordnung zwischen Alter und Name kümmern, können Sie versuchen, zwei Beziehungen miteinander zu verbinden. Post Cross Join Gruppe nach Namen und behalten Sie niemanden daraus. Allerdings, IMO, kann dies kostenintensiver (eher ressourcenintensiv) sein als der oben erwähnte RANK-Ansatz.

+0

Vielen Dank für Ihr Feedback, Amit. Ich landete einen einfachen RANK auf beiden Listen und verbinde sie mit RANK-ID. Es funktioniert, ist aber nicht besonders effizient. –