【发布时间】:2017-06-22 14:34:42
【问题描述】:
假设我们有一个大的 csv/excel 文件,其中有大量针对以下字段的记录。
1.Email
2.First Name
3.Last Name
4.Phone Number etc.
在这些记录中,我们需要根据电子邮件、名字和姓氏的匹配条件来识别重复记录。
对于重复计算,定义了一些自定义规则,根据单个记录给出分数。
例如,
1.If email is exact match then score is 100,else 0.
2.For First Name,Last Name etc. the edit distance is the score.
例如,假设搜索参数如下所示
Email:xyz@gmail.com,First Name: ABCD,Last Name:EFGH
行/记录就像
1.Email:xyz@gmail.com,First Name: ABC,Last Name:EFGH
2.Email:123xyz@gmail.com,First Name: ABC,Last Name:EFGH
对于记录 1,得分 = 100(电子邮件)+ 75(名字)+ 100(姓氏)=275,即91.6%
对于记录 2,得分 = 0(电子邮件)+ 75(名字)+ 100(姓氏)=175,即58%
重复检测阈值为 75%,因此记录 1 是重复的,而记录 2 不是。当我们有输入参数并使用它们来确定文件中的重复项时,这很容易实现。
但是当我们在一个文件中拥有所有记录并且所有记录都需要找出哪些是重复记录时,如何应用这个逻辑呢?
这里没有定义输入参数,我们需要将一条记录与所有其他记录进行比较才能找到评分相关性。
如何在 Apache Spark 中实现这一点?
【问题讨论】:
标签: apache-spark pyspark apache-spark-sql spark-dataframe apache-spark-mllib