Очистка больших данных: удаление дубликатов
Описание
Крупный европейский банк на протяжении многих лет использовал различные информационные системы, в результате чего накопил миллионы клиентских записей. Некоторые из них содержали опечатки, другие были логическими дубликатами. Банку требовалось быстрое и эффективное решение для очистки данных, удаления дубликатов и приведения записей к структурированному формату для дальнейшей работы.
Проблема
Основной задачей было создание алгоритма, способного оперативно обрабатывать огромный объем данных и удалять дубликаты с высокой скоростью. Дополнительной сложностью стало отсутствие прямого доступа к реальным данным (были доступны только аналогичные, смоделированные данные), что затрудняло тестирование.
Решение
Для разработки эффективного решения по удалению дубликатов и соблюдения строгих сроков мы оперативно создали алгоритм, который группировал записи в кластеры для выявления дубликатов. Затем алгоритм выбирал лучшую запись в каждом кластере, заменял все ссылки на дублирующиеся записи ссылкой на выбранную и удалял дубликаты.
Для достижения высокой эффективности потребовалось несколько итераций. Первые версии алгоритма оказались недостаточно производительными, поэтому мы добавили код для сбора метрик из данных, что позволило улучшить алгоритм без прямого доступа к данным.
Ищете автоматизированное решение для очистки данных?
Свяжитесь с нами, и первая консультация будет бесплатной.