Как стандартизировать названия городов, вставленные пользователем
Мне нужно написать небольшой конвейер ETL, потому что мне нужно переместить некоторые данные из исходной базы данных в целевую базу данных (хранилище данных), чтобы выполнить некоторый анализ данных.
Среди этих данных мне нужно очистить и согласовать названия городов. Города вставляются вручную международными пользователями, поэтому для одного города я могу иметь несколько названий (например, Лондон или Лондон). В моей исходной базе данных есть не только большие города, но и небольшие деревни.
Что ж, если я не стану стандартизировать названия городов, наш анализ может оказаться бессмысленным.
Каковы наилучшие методы стандартизации городов в моей целевой базе данных? Есть какие-нибудь идеи или предложения, которые я могу предпринять?
Спасибо
1 ответ
Единственный надежный способ сделать это - использовать коммерческое программное обеспечение для проверки адресов - желательно в исходной системе при создании данных, но оно может быть интегрировано в процессы конвейера данных.
Предполагая, что вы не можете позволить / оправдать использование коммерческого программного обеспечения, единственным другим решением является создание вашей собственной таблицы перевода, то есть таблицы, содержащей введенные значения и значения, в которые вы хотите, чтобы они были переведены.
Хотя вы можете построить эту таблицу на основе исторических данных, всегда будут новые значения, которых нет в таблице, поэтому вам потребуется процесс, чтобы идентифицировать их, добавить новую запись к вашим данным перевода и затем исправить затронутые записи. Вы также должны согласиться с тем, что на вашем складе будут неочищенные данные в течение определенного периода времени после каждой загрузки данных.