복붙노트

[HADOOP] Mahout의 sequencefile API 코드는 어떻게 사용할 수 있습니까?

HADOOP

Mahout의 sequencefile API 코드는 어떻게 사용할 수 있습니까?

Mahout에 시퀀스 파일 생성 명령이 bin / mahout seqdirectory -c UTF-8로 존재합니다 -i <입력 주소> -o <출력 주소>. 이 명령을 코드 API로 사용하고 싶습니다.

해결법

  1. ==============================

    1.다음과 같이 할 수 있습니다.

    다음과 같이 할 수 있습니다.

    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();
    

    여기와 여기에서 더 많은 정보를 찾을 수 있습니다.

    또한 org.apache.mahout.text.SequenceFilesFromDirectory를 사용하여 Mahout에서 설명한 것과 똑같은 기능을 호출 할 수 있습니다

    그러면 호출은 다음과 같이 보입니다.

    ToolRunner.run(new SequenceFilesFromDirectory(), String[] args //your parameters);
    

    ToolRunner는 org.apache.hadoop.util.ToolRunner에서 제공됩니다.

    희망이 도움이되었다.

  2. from https://stackoverflow.com/questions/11645294/how-can-i-use-mahouts-sequencefile-api-code by cc-by-sa and MIT license