【问题标题】:unstructured data comparision using python or other etl tools [closed]使用python或其他etl工具进行非结构化数据比较[关闭]
【发布时间】:2015-10-28 11:31:45
【问题描述】:

我正在从不同供应商(来自网站或 api)收集与电子产品相关的数据,我需要一种方法来从每个供应商那里找到类似产品并将它们链接到主数据库中。例如:供应商 1 将名称列为“Samsung Galaxy Note 4”,供应商 2 列为“galaxy note 4 black 16 GB”,供应商 3 列为“galaxy note 4”,我需要将它们全部链接为单个产品并存储参考不同的供应商。我进行了搜索,发现可以使用诸如 Talend 和 Kettle 之类的 ETL 并使用诸如 levenshtein、metaphone 等算法或使用 python 的 FuzzyWuzzy 来完成这种分析。它适用于不到 50% 的数据。我的问题是

  1. 在这种情况下,我应该使用什么类型的工具或包来获得最佳结果?
  2. 无论工具或代码有多好,关于正确性的最终决定都必须由人来做出,是否有更简单的方法来使用 GUI 作为最终检查来实现此映射。例如在 python 中,例如连接到两个表并在 ui(浏览器)中显示该数据并允许用户拖放到正确的数据。

我正在寻找帮助我解决问题的软件包或工具的名称。 我将非常感谢 anwser。

【问题讨论】:

  • 工具推荐因堆栈溢出而脱离上下文。虽然我的建议是pandas.

标签: python etl data-analysis


【解决方案1】:

如果您已经在使用 Talend,那么您可以使用一些组件对您的数据执行模糊匹配。 tFuzzyMatch 可供所有用户使用。 tRecordMatching 和 tMatchGroup 可供平台产品客户使用。

首先,您可以使用 tFuzzyMatch 将来自主流的列与来自查找流的参考列进行比较,并输出显示距离的主流数据。匹配类型包括 Levenshtein、Metaphone 和 Double Metaphone。您可以在 Talend 帮助中心找到有关 Levenshtein 和 Metaphone 的场景:https://help.talend.com/display/TalendComponentsReferenceGuide60EN/tFuzzyMatch

此外,tFuzzyMatching 和 tRecordMatching(平台客户:https://help.talend.com/display/TalendComponentsReferenceGuide60EN/tRecordMatching)能够匹配不同数据源之间的数据记录。 tMatchGroup(平台客户:https://help.talend.com/display/TalendComponentsReferenceGuide60EN/tMatchGroup)可以在单个数据源中找到相似的数据记录。

【讨论】:

  • Talend Data 非常感谢您的回答
  • 很高兴我能帮到你!
  • tMatchGroup 和 tRecordMatching 仅在高级版本中可用,有没有办法尝试这些托盘?
  • 是的,您可以使用 30 天试用版进行测试。最好的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-01-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多