MapReduce를 사용하여 병렬화 된 레코드 결합 시스템을 구축하고자했습니다. 언어는 중요하지 않습니다. Hadoop과 같은 기존 라이브러리를 사용하거나 필요한 경우 내 라이브러리를 작성할 수 있습니다. 걱정하지 않아도됩니다.병렬화 된 레코드 결합 - 복수 키 일치
그러나 계속해서 문제가되는 것은 여러 기준에 일치하는 레코드가 필요하다는 것입니다. 예를 들어, 사람의 이름이 또는 인 사람의 전화 번호를 기반으로 한 레코드를 일치시켜야하지만, 반드시 그 사람의 이름이 및 인 전화 번호와 일치 할 필요는 없습니다.
- '존 스미스'와 '555-555-5555'
- '제인 스미스'와 '555-555-5555' : 각 레코드에 대해 다음 키 주어진 예를 들어
- '존 스미스'와 '555-555-1111'
,
나는 시스템이 세 가지 기록을들이 키 중 하나에 일치하는지 파악하고,이 하나의 결합 된 레코드로 결합 할 두 이름 ('John Smith'및 'Jane Smith')도 두 전화 번호로 ('555-555-5555'및 '555-555-1111 ').
MapReduce를 사용하여이 작업을 수행 할 수 있습니까? 그렇다면 Map 함수가 생성 한 키를 일치 시켜서 일치하는 모든 레코드를 Reduce 함수에 전달할 수 있습니다. * 또는이 작업을 수행 할 수있는 다른 방법이 있습니까? 필자의 유일한 요구 사항은 필자가 병렬화해야한다는 것이다.
[*] 참고 : Reduce 함수가 각 작업에 대해 하나의 결과를 생성하는 Reduce 함수 대신 하나의 결합 된 레코드를 생성하는 방식으로 Reduce 함수를 사용할 수 있다고 가정합니다 .