J'ai envisagé d'utiliser MapReduce pour créer un système de combinaison d'enregistrements parallélisés. La langue n'a pas d'importance, je peux utiliser une bibliothèque préexistante telle que Hadoop ou construire la mienne si nécessaire, cela ne m'inquiète pas. Le problème que je continue à rencontrer, cependant, est que j'ai besoin que les enregistrements soient appariés selon plusieurs crit'eres. Par exemple: Il se peut que je doive faire correspondre les enregistrements en fonction du nom de la personne ou le numéro de téléphone de la personne, mais pas nécessairement le nom de la personne et.Combinaison d'enregistrements parallélisés - appariement sur plusieurs clés
Par exemple, étant donné les clés suivantes pour chaque enregistrement:
- 'John Smith' et '555-555-5555'
- 'Jane Smith' et '555-555-5555'
- « John Smith » et « 555-555-1111 »
Je veux que le système de prendre les trois dossiers, comprendre qu'ils correspondent à l'une des clés, et de les combiner en un seul enregistrement combiné qui a deux noms («John Smith» et «Jane Smith») comme les deux numéros de téléphone («555-555-5555» et «555-555-1111»).
Est-ce quelque chose que je peux accomplir en utilisant MapReduce? Si c'est le cas, comment procéder pour faire correspondre les clés produites par la fonction Carte afin que tous les enregistrements correspondants puissent être transmis à la fonction Réduire. * Sinon, y a-t-il un moyen différent/meilleur de le faire? Ma seule exigence réelle est que j'en ai besoin parallélisé.
[*] Remarque: Je suppose que la fonction Réduire peut être utilisée de telle sorte que chaque appel à la fonction Réduire produise un enregistrement combiné unique plutôt que la fonction Réduire produisant un résultat unique pour l'ensemble du travail .