Как стандартизировать названия городов, вставленные пользователем

Мне нужно написать небольшой конвейер ETL, потому что мне нужно переместить некоторые данные из исходной базы данных в целевую базу данных (хранилище данных), чтобы выполнить некоторый анализ данных.

Среди этих данных мне нужно очистить и согласовать названия городов. Города вставляются вручную международными пользователями, поэтому для одного города я могу иметь несколько названий (например, Лондон или Лондон). В моей исходной базе данных есть не только большие города, но и небольшие деревни.

Что ж, если я не стану стандартизировать названия городов, наш анализ может оказаться бессмысленным.

Каковы наилучшие методы стандартизации городов в моей целевой базе данных? Есть какие-нибудь идеи или предложения, которые я могу предпринять?

Спасибо

1 ответ

Единственный надежный способ сделать это - использовать коммерческое программное обеспечение для проверки адресов - желательно в исходной системе при создании данных, но оно может быть интегрировано в процессы конвейера данных.

Предполагая, что вы не можете позволить / оправдать использование коммерческого программного обеспечения, единственным другим решением является создание вашей собственной таблицы перевода, то есть таблицы, содержащей введенные значения и значения, в которые вы хотите, чтобы они были переведены.

Хотя вы можете построить эту таблицу на основе исторических данных, всегда будут новые значения, которых нет в таблице, поэтому вам потребуется процесс, чтобы идентифицировать их, добавить новую запись к вашим данным перевода и затем исправить затронутые записи. Вы также должны согласиться с тем, что на вашем складе будут неочищенные данные в течение определенного периода времени после каждой загрузки данных.

Другие вопросы по тегам