Mahout には、create sequence file as のコマンドが存在しますbin/mahout seqdirectory -c UTF-8
-i <input address> -o <output address>
。このコマンドをコード API として使用したい。
質問する
6152 次
1 に答える
3
次のようなことができます。
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.SequenceFile;
import org.apache.hadoop.io.Text;
Configuration conf = new Configuration();
FileSystem fs = FileSystem.get(conf);
Path outputPath = new Path("c:\\temp");
Text key = new Text(); // Example, this can be another type of class
Text value = new Text(); // Example, this can be another type of class
SequenceFile.Writer writer = new SequenceFile.Writer(fs, conf, outputPath, key.getClass(), value.getClass());
while(condition) {
key = Some text;
value = Some text;
writer.append(key, value);
}
writer.close();
詳細については、こちらとこちらをご覧ください
さらに、説明したのとまったく同じ機能を Mahout から呼び出すことができます。org.apache.mahout.text.SequenceFilesFromDirectory
次に、呼び出しは次のようになります。
ToolRunner.run(new SequenceFilesFromDirectory(), String[] args //your parameters);
ToolRunner
から来るorg.apache.hadoop.util.ToolRunner
これがお役に立てば幸いです。
于 2012-07-25T08:16:19.420 に答える