gpt4 book ai didi

Hadoop - 在两个客户列表中查找匹配的名称

转载 作者:可可西里 更新时间:2023-11-01 16:17:38 27 4
gpt4 key购买 nike

我有两份来自不同事件的人员名单;我想在这些列表中寻找匹配的人名,以及匹配的公司。我知道每个列表中可能会有同名但不是同一个人的人,但这将有助于找到匹配项。

第一个列表示例:
姓名、公司、职务
John Doe,ACME 公司,驯象师
Jane Smith,ACME Corporation,首席执行官
John Smith,Widgets-R-Us,看门人
+10,000 行

第二个列表示例:
姓名、公司
Fred Smith,ACME 公司
John Smith,Widgets-R-Us
约翰·史密斯,XYZ 公司
简·史密斯,XYZ 公司
+10,000 行

期望的输出
匹配名称:
约翰·史密斯
简·史密斯

配对公司:
ACME公司
小部件-R-Us

我在 AWS 环境中运行它,并且是 Hadoop 的新手。任何编程语言都可以。我知道如何在 Excel 中执行此操作,但希望能够随着时间的推移使用更多名称列表(每个名称列表都在它们自己的 CSV 文件中)来扩展它。

最佳答案

您需要一个 Mapper 实现,在该实现中您将 Name 和 Company Name 作为 Text 和 IntWritable 发出。
protected void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException{
/*Some logic to derive the person name or the Company name.*/
String name = value.split(',')[0];
context.write(new Text(value),new IntWritable(1));
}

reducer 中 reduce 方法的实现类似于
public void reduce(Text key, Iterable<IntWritable> values,Context context)throws IOException, InterruptedException{
int count = 1;
for(IntWritable val: values){count++;}
//You would all the unique names with no of times it is repeated.
context.write(key,new IntWritable(count));
}

希望这会有所帮助。

关于Hadoop - 在两个客户列表中查找匹配的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16532936/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com