我正在尝试使用 MultipleOutputFormat.generateFileNameForKeyValue() 。
这个想法是为我的每个键创建目录。
这是代码:
static class MyMultipleTextOutputFormat extends MultipleTextOutputFormat<Text, Text> {
@Override
protected String generateFileNameForKeyValue(Text key, Text value, String name) {
arr = key.toString().split("_");
return arr[0]+"/"+name;
}
}
此代码仅在发出的记录很少时才有效。如果我根据我的真实输入运行代码,它只会挂在减速器上 70% 左右。
这里可能有什么问题 - 处理少量的键,而不是处理很多 .