gpt4 book ai didi

hadoop - Hadoop分布式缓存抛出IOException

转载 作者:行者123 更新时间:2023-12-02 20:13:38 25 4
gpt4 key购买 nike

使用hadoop 0.20.2并尝试通过分布式缓存读取序列化的映射

面临编译错误
localFiles = DistributedCache.getLocalCacheFiles(job);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
未处理的异常类型IOException

DRIVER类代码段(/scratch/word_id.ser是存储在本地系统中的序列化文件)

    Job job = new Job(conf, "xml-read");
DistributedCache.addCacheFile(new URI("/scratch/word_id.ser"),job);

MAPPER类代码段
    public class MyParserMapper1 {

public static class Map extends MapReduceBase implements Mapper<LongWritable, Text, IntWritable, Text> {

private FileSystem fs;
private Path[] localFiles;
HashMap hash_temp;
private ObjectInputStream oisc;

@Override
public void configure(JobConf job) {

localFiles = DistributedCache.getLocalCacheFiles(job);

}

最佳答案

您的IDE可能有一些针对此类问题的自动修复规则,但是无论如何,您都需要将语句包装在try / catch块中:

@Override
public void configure(JobConf job) {
try {
localFiles = DistributedCache.getLocalCacheFiles(job);
} catch (IOException ioe) {
throw new RuntimException(ioe);
}
}

如果您可以更好地处理该异常(即如果您仍然可以在不使用此文件的情况下运行映射器),则可以包装一个未经检查的异常,例如RuntimeException

关于hadoop - Hadoop分布式缓存抛出IOException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10204147/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com