对于第一次和第一次使用此论坛,我还是很陌生,所以提前致歉。
我使用Talend开放式工作室Big Data(免费版本),并且作为工作的一部分,我必须进行某些集成。
我已经搜索并尝试了其他用户提到的几种解决方案,但不幸的是,它不能满足我的需求
当前,我正在一个项目中,我需要合并记录(如果发生重复),但是,如果主记录和子记录包含相同的数据,则不需要合并,这是基于个人数据的。
我们正在使用maria DB,我们的数据库包含数百个表,而从那些表中,我们只对少数几个有助于识别重复记录的表感兴趣。消除重复的概念。
因此,我们有一个人员表(personID,名字,suranme),该表链接到人员地址表(personaddid,personID,城镇,城市,县等),人员电子邮件表(personemailID,personID,电子邮件,emailtype(在家,私人,工作)和个人电话号码(personTelephoneID,personID,电话,电话类型(在家,私人,工作)。
基于这些表,我首先需要确定记录是否重复,如果重复,则仅将丢失的数据合并到主记录中。
For example,
Person Table
PersonID Firstname Surname
1 Jo Blog
2 Jo Blog
Person Telephone
PersonTelephoneID PersonID Telephone
1 1 (+44)01234567890
2 1 01234567890
1 2 (+44) 01234567890
2 2 (+44)01234567891
3 2 01234567890
这两个候选者被归类为重复,因为候选者2包含与候选者1相同的所有数据,但唯一的数字除外 因此,我希望能够识别出这两个候选者是重复的,然后基于我想要将候选者2的数据合并到候选者1中,但这还需要考虑正则表达式,例如候选者1 =( +44)01234567890与候选项2 = 01234567890相同,因此请勿将此号码插入候选项1(候选项2的电话号码将显示为“合并”,甚至删除了其他行)
Outcome candidate 1
PersonTelephoneID PersonID Telephone
1 1 (+44)01234567890
将新ID插入表2(+44)01234567891
Outcome candidate 2
PersonTelephoneID PersonID Telephone
1 2 "merged"
感谢您的阅读和帮助。