gpt4 book ai didi

java - 使用复合输入格式 - Map-side Join

转载 作者:可可西里 更新时间:2023-11-01 17:00:20 28 4
gpt4 key购买 nike

我正在尝试使用 CompositeInputFormat 执行 Map-side Join。甚至没有调用映射器函数。下面是这两个文件。

文件 A - KEY#VALUE

1#1;1
1#1;2
1#1;3
1#1;5
2#2;2
2#2;2
3#3;2
3#3;3
5#5;2
5#5;2

文件 B - KEY#VALUE

1#1;1
1#1;1
1#1;1
1#1;1

源代码

Path left= new Path(args[0]);
Path rigth = new Path(args[1])
String separator = "#";
Configuration config = new Configuration();
config.set("mapreduce.input.keyvaluelinerecordreader.key.value.separator", separator);
String joinExpression = CompositeInputFormat.compose("inner", KeyValueTextInputFormat.class, left, rigth);
config.set("mapreduce.join.expr", joinExpression);

Job job = Job.getInstance(config);
job.setJobName("Blah");
job.setJarByClass(Blah.class);
job.setMapperClass(PreditorasMapper.class);
job.setReducerClass(PreditorasReducer.class);
job.setInputFormatClass(CompositeInputFormat.class);
FileOutputFormat.setOutputPath(job, new Path(args[2]));
job.setOutputKeyClass(Text.class);
job.setOutputValueClass(Text.class);
System.exit(job.waitForCompletion(true) ? 0 : 1);

有什么问题吗?

最佳答案

问题出在映射器类中。

我正在使用:

public void map(Text key, Text value, Context context) 

代替:

public void map(Text key, TupleWritable value, Context context) 

关于java - 使用复合输入格式 - Map-side Join,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25066905/

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