Ошибка чтения файла с помощью Hadoop DistributedCache - PullRequest
0 голосов
/ 17 октября 2019

Я хочу прочитать файл с помощью картографа Hadoop с использованием DistributedCache, и ошибка возникает в одной 10-й строке:

public class CacheMapper extends Mapper<Object, Text, Text, IntWritable> {

    @Override
    public void setup(Context context) throws IOException, InterruptedException {
        try {
            org.apache.hadoop.fs.Path[] cacheFiles = DistributedCache.getLocalCacheFiles(context.getConfiguration());
            String filename = cacheFiles[0].toString(); // dictionary.txt
            java.nio.file.Path path = Paths.get(filename);
            List<String> list = Files.readAllLines(path); // ERROR!!!
            // ...
        } catch // ...
            // ...
    }

    @Override
    public void map( // ...
    // ...
}

в основном классе:

String filename = "dictionary.txt";
DistributedCache.addCacheFile(new org.apache.hadoop.fs.Path(filename).toUri(), job.getConfiguration());

файл dictionary.txtнаходится в рабочей области и также помещается в hadoop fs:

hadoop fs -put dictionary.txt dictionary.txt
hadoop fs -ls

-rwxrwxrwx 1 корневой корень 163 2019-10-17 07:35 dictionary.txt

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...