gpt4 book ai didi

java - 如果值为空,如何忽略 Map-Reduce 中的键值对?

转载 作者:可可西里 更新时间:2023-11-01 15:05:30 25 4
gpt4 key购买 nike

我有一个制表符分隔输入文件,我正在读取 Map-Reduce 中的 2 列。 1 列是键,另一列是值。所以我的要求是,如果值是空白,即它包含空格或制表符或任何其他字符,即使键也不应该被处理到 reducer。总的来说,它应该丢弃该记录并获取下一个有值(value)的记录。写了下面的代码,但是不行。它执行所有记录。它不过滤任何东西。

public static class Map extends Mapper<LongWritable, Text, Text,Text> 
{
private Text vis = new Text();
private Text eValue = new Text();
public void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException
{
String line=value.toString();
String[] arr=line.split("\t");
vis.set(arr[8]);
eValue.set(arr[287]);
if (!eValue.equals("\t") || eValue.equals(" "))
{
context.write(vis,eValue);
}
}
}

感谢任何帮助。提前致谢。

PS : 我使用的是 Hadoop-2.6.0

最佳答案

您可以使用以下语句代替多个检查条件。

        if (!(eValue.toString().isEmpty()))
{
context.write(vis,eValue);
}

关于java - 如果值为空,如何忽略 Map-Reduce 中的键值对?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30779636/

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