-
Notifications
You must be signed in to change notification settings - Fork 19
[pig] MERGE JOIN
dsindex edited this page Aug 27, 2014
·
8 revisions
file A, line count = 10,000,000,000 (100억)
query \t frequency
file B, line count = 100,000,000 (10억)
query
Q : file B에 있는 query가 file A에 존재하는 경우, 해당하는 frequency를 가져오고 싶다.
A : 이런 경우 아래와 같이 merge join을 사용해서 처리 가능.
A = LOAD '$input_left' USING PigStorage('\t');
B = LOAD '$input_right' USING PigStorage('\t');
C = JOIN A by $0, B by $0 using 'merge';
-- C = A + B if A.$0 == B.$0
-- row count of C <= row count of B
STORE C INTO '$output' USING PigStorage('\t');
단, 개별 입력의 key값은 'ASC'로 정렬돼 있어야만 한다.
A = LOAD '$input' USING PigStorage('\t');
B = ORDER A BY $0 ASC;
STORE B INTO '$output' USING PigStorage('\t');
- 문제점
- key값