hdfs下載copyToLocalFile報NullPointerException解決方法

fs.copyToLocalFile(new Path("/**.***"), new Path("e:/**.***"));

報NullPointerException,可能是因爲windows下系統環境變量引起,試驗出兩種解決方法:

InputStream in = fs.open(new Path("/**.***"));
FileOutputStream out = new FileOutputStream(new File("e:/**.***"));
IOUtils.copyBytes(in, out, 2048, true);

使用open方法以及hadoop提供的copyBytes

方法二:

fs.copyToLocalFile(false, new Path("/**.***"), new Path("e:/**.***"), true);

使用帶4個參數的copyToLocalFile方法(

void org.apache.hadoop.fs.FileSystem.copyToLocalFile(boolean delSrc, Path src, Path dst, boolean useRawLocalFileSystem) throws IOException
),最後一個參數表示不用原始的本地文件系統,改用java的io流

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章