geolocation - 如何标准化用户插入的城市名称
问题描述
我需要编写一个小型 ETL 管道,因为我需要将一些数据从源数据库移动到目标数据库(数据仓库)以对数据执行一些分析。
在这些数据中,我需要清理和符合城市名称。城市是由国际用户手动插入的,因此对于一个城市,我可以有多个名称(例如伦敦或伦敦)。在我的源数据库中,我不仅有大城市,还有小村庄。
好吧,如果我不标准化城市名称,我们的分析可能是荒谬的。
在我的目标数据库中标准化城市的最佳实践是什么?有什么想法或建议我可以承担吗?
谢谢
解决方案
唯一可靠的方法是使用商业地址验证软件 - 最好在创建数据时在源系统中,但它可以集成到您的数据管道流程中。
假设您负担不起/证明使用商业软件的合理性,唯一的其他解决方案是创建您自己的转换表,即保存输入值以及您希望将它们转换为什么值的表。
虽然您可以根据历史数据构建此表,但总会有新值不在表中,因此您需要一个流程来识别这些值,将新记录添加到您的翻译数据中,然后修复受影响的记录。您还需要接受每次数据加载后一段时间内您的仓库中都会有未清理的数据
推荐阅读
- php - 在 Laravel 中间件中访问 $user 变量
- java - 需要在 Java-Pact Contract 测试中为 @PactFolder 注解分配动态字符串值
- html - 如何修复我的媒体查询对移动设备显示没有响应(跨所有平台)?
- android - 我想从我的网站下载 pdf 到我的应用程序中,并且该 pdf 仅显示在我的应用程序中
- c# - Write to a .txt file using data from TextBox when UWP app is closed
- sed - 如何在 MacOS 上使用 sed 删除包括反斜杠在内的模式?
- android - 单击后退按钮时更改底部导航栏中的动画状态
- r - 为什么在使用嵌套函数时 R 省略号 (...) 匹配更多参数?
- java - 异常处理 ScheduledExecutorService
- java - 我的 alpha-beta 修剪算法有问题吗?