如何将Hadoop输出转换为Text,Text格式?

时间:2014-12-12 18:09:51

标签: java hadoop mapreduce

我有一个包含以下格式的数据的文件: 导演电影

我正在使用hadoop和Java来处理它。

计算每位导演的电影数量是非常基本的,但我如何修改代码来获得这样的内容:

导演movie1 movie2 movie3 ...

2 个答案:

答案 0 :(得分:3)

我认为从计算每个导演的电影数量可以直截了当,高级结构可能是这样的:

mapper(file):
    for each (director, movie) in file:
        emit(director, movie)

reducer(director, movies):
    movielist = []
    for each movie in movies:
        movielist.add(movie)
    emit(director, movielist)

答案 1 :(得分:1)

这样做。

@Override
    public void reduce(Text key, Iterable<Text> values, Context context)
            throws IOException, InterruptedException {

        String movies;

        for (Text value : values) {
            movies += value.toString() + " ";
        }
        context.write(key, new Text(movies));
    }