0

新しい API である Hadoop 2.x の DistributedCache に問題があります。この問題に対処している人が何人か見つかりましたが、問題の例は解決されません。

DistributedCache でデータを取得しようとしたときに NullPointerException が発生したため、このソリューションは機能しません

私の構成は次のとおりです。

運転者

    public int run(String[] arg) throws Exception {
        Configuration conf = this.getConf();
        Job job= new Job(conf,"job Name");
        ...
        job.addCacheFile(new URI(arg[1]);

設定

    protected void setup(Context context)
            throws IOException, InterruptedException {
        Configuration conf = context.getConfiguration();
        URI[] cacheFiles = context.getCacheFiles();
        BufferedReader dtardr = new BufferedReader(new FileReader(cacheFiles[0].toString()));

ここでバッファリングされたリーダーの作成を開始すると、NullPointerException がスローされます。これはcontext.getCacheFiles();が原因で発生します。常に NULL を返します。この問題を解決する方法と、キャッシュ ファイルが保存されている場所 (HDFS、またはローカル ファイル システム)

4

1 に答える 1