Soy nuevo en hadoop. Quisiera dirigir algunos enfoques contigo que se me ocurrieron.Unir similitud usando Hadoop
Problema:
2 conjuntos de datos: A y B.
Ambos conjuntos de datos representan canciones: algunos atributos de nivel superior, títulos (1 ..), artistas (1) ...
Necesito hacer corresponder estos conjuntos de datos utilizando algoritmos de igualdad o difusos (como levenshtein, jaccard, jaro-winkler, etc.) en función de los títulos y el intérprete.
Los tamaños de los conjuntos de datos son: A = 20-30M, B ~ = 1-6M.
Así que aquí hay enfoques que se me ocurrió:
Cargar conjunto de datos B (el más pequeño) en HDFS. Use mapreduce contra el conjunto de datos A (el más grande), donde:
fase del mapa: para cada registro en A, acceda a HDFS y extraiga los registros B para buscar coincidencias;
reducir fase: escribe pares idconjunto de datos de carga A en la caché distirubted (es decir jboss caché) en forma optimizada para acelerar la búsqueda. Utilice mapreduce contra el conjunto de datos B, donde:
fase mapa: para cada registro en la consulta B distribuye caché para hacer coincidir
reducir: escribe pares iduso mapreduce para unirse a ambos conjuntos de datos, donde
fase mapa: crear una grabar desde el conjunto A y establecer B, hace coincidir
fase de reducción: el mismo
(estoy confundido con este. 1st: join será el producto cartesiano con un billón de registros; segundo: no estoy seguro de cómo hadoop puede paralisar eso a través clúster)utilizar la colmena (estoy mirando ahora tratando de encontrar la manera de plugin de funciones personalizadas que harán la coincidencia de cadenas)
estoy loooking por unos punteros, qué enfoque sería el mejor candidato o tal vez hay hay otros enfoques que no veo.
Gracias por la respuesta. El enlace es bastante útil. – mtim