Я бы хотел получить представление, если хэддоп - верный инструмент для решения моей проблемы.
Я строю автономный процесс (один раз в месяц или раз в квартал), который соответствует 2 наборам данных: A и B.
Набор данных A находится в Oracle, набор данных B - это файл XML. Набор данных A составляет около 20 миллионов записей, набор данных B составляет 6 миллионов записей.
Каждая запись представляет собой музыкальную песню и имеет следующий формат:
song {
songid:
// type of string , avg_num_of_titles_per_song=1.4 , std_deviation=1.9
titles:[]
// type of string avg_num_of_performers_per_song=1.5 std_deviation=0.9
performers:[]
}
Две записи совпадают, если:
- хотя бы одно совпадение заголовков с использованием либо точного совпадения, либо фонетического алгоритма, либо алгоритма расстояния
- по крайней мере, при сопоставлении исполнителей с использованием тех же алгоритмов: точных, фонетических, расстояний и т. д. (мы все еще оцениваем алгоритмы сопоставления)
Выход этого процесса - 2 набора данных:
(1) одиночные совпадения, где запись в A соответствует только один раз в B, а та же запись в B совпадает только один раз в A.
(2) несколько матчей
Будет ли hadoop правильным инструментом для работы?
Спасибо.