Hadoop ApacheMahout数据库到序列文件

Hadoop ApacheMahout数据库到序列文件,hadoop,classification,mahout,Hadoop,Classification,Mahout,我现在正试着和管理员一起玩。我在行动中买了这本书。 整个过程是理解的,通过简单的测试数据集,我已经成功了 现在我想解决一个分类问题 找到了目标变量,我现在称之为-x。 我们数据库中的现有数据已被分类为-1、0和+1 我们定义了几个预测变量,通过SQL查询选择这些变量 这些是产品的属性:语言、国家、商店类别、标题、描述 现在,我希望它们直接写入SequenceFile,为此我编写了一个小助手类,每次处理SQL resultset的新行时,该类都会附加到序列文件中: public void appe

我现在正试着和管理员一起玩。我在行动中买了这本书。 整个过程是理解的,通过简单的测试数据集,我已经成功了

现在我想解决一个分类问题

找到了目标变量,我现在称之为-x。 我们数据库中的现有数据已被分类为-1、0和+1

我们定义了几个预测变量,通过SQL查询选择这些变量

这些是产品的属性:语言、国家、商店类别、标题、描述

现在,我希望它们直接写入SequenceFile,为此我编写了一个小助手类,每次处理SQL resultset的新行时,该类都会附加到序列文件中:

public void appendToFile(String classification, String databaseID, String language, String country, String vertical, String title, String description) {
    int count = 0;
    Text key = new Text();
    Text value = new Text();

    key.set("/" + classification + "/" + databaseID);
    //??value.set(message);
    try {
        this.writer.append(key, value);
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}
如果我只有标题,我可以简单地将其存储在值中——但如何在特定的键中存储多个值,如country、lang等


谢谢你的帮助

您不应该将结构存储在seq文件中,只需转储所有用空格分隔的文本

它只是一个放置所有内容进行术语计算的地方,当使用像朴素贝叶斯这样的东西时,它不关心结构

然后,在进行分类时,在数据库中查找结构