как чтение Nutch генерирует данные содержимого в папке сегмента с помощью Java - PullRequest
1 голос
/ 22 сентября 2011

Я пытаюсь прочитать данные содержимого в папке сегмента. Я думаю, что файл данных контента написан в пользовательском формате

Я экспериментировал с классом Nutch Content , но он не распознает формат.

Ответы [ 2 ]

5 голосов
/ 02 апреля 2013
import java.io.IOException;

import org.apache.commons.cli.Options;
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;
import org.apache.hadoop.util.GenericOptionsParser;
import org.apache.nutch.protocol.Content;
import org.apache.nutch.util.NutchConfiguration;

public class ContentReader {
    public static void main(String[] args) throws IOException {
        // Setup the parser
        Configuration conf = NutchConfiguration.create();
        Options opts = new Options();
        GenericOptionsParser parser = new GenericOptionsParser(conf, opts, args);
        String[] remainingArgs = parser.getRemainingArgs();
        FileSystem fs = FileSystem.get(conf);
        String segment = remainingArgs[0];
        Path file = new Path(segment, Content.DIR_NAME + "/part-00000/data");
        SequenceFile.Reader reader = new SequenceFile.Reader(fs, file, conf);
        Text key = new Text();
        Content content = new Content();
        // Loop through sequence files
        while (reader.next(key, content)) {
            try {
                System.out.write(content.getContent(), 0,
                        content.getContent().length);
            } catch (Exception e) {
            }
        }
    }
}
0 голосов
/ 22 сентября 2011
org.apache.nutch.segment.SegmentReader 

имеет реализацию сокращения карт, которая считывает данные содержимого в каталоге сегмента.

...