[英]Reading file from HDFS using HDFS Java API
您好,我正在嘗試使用Java API從HDFS讀取文件。
連接到HDFS並列出文件工作正常。
但是在嘗試讀取文件時出現了以下異常
函數調用:fs.copyToLocalFile(path,dPath);
java.io.IOException: Could not obtain block: blk_-747325769320762541_16269493 file=/user/s3t.txt
at org.apache.hadoop.hdfs.DFSClient$DFSInputStream.chooseDataNode(DFSClient.java:2266)
at org.apache.hadoop.hdfs.DFSClient$DFSInputStream.blockSeekTo(DFSClient.java:2060)
at org.apache.hadoop.hdfs.DFSClient$DFSInputStream.read(DFSClient.java:2221)
at java.io.DataInputStream.read(Unknown Source)
at org.apache.hadoop.io.IOUtils.copyBytes(IOUtils.java:68)
at org.apache.hadoop.io.IOUtils.copyBytes(IOUtils.java:47)
at org.apache.hadoop.io.IOUtils.copyBytes(IOUtils.java:100)
at org.apache.hadoop.fs.FileUtil.copy(FileUtil.java:230)
at org.apache.hadoop.fs.FileUtil.copy(FileUtil.java:163)
at org.apache.hadoop.fs.FileSystem.copyToLocalFile(FileSystem.java:1222)
at org.apache.hadoop.fs.FileSystem.copyToLocalFile(FileSystem.java:1203)
at Access.main(Access.java:59)
注意:能夠使用fs.createNewFile(myPath)創建新文件;
您可以通過兩種方式進行檢查。
請同時檢查兩者。
https://stackoverflow.com/a/37661092/5797400-這可能會有所幫助。 這是我對could not obtain block: BlockMissingException
解決方案could not obtain block: BlockMissingException
。
這是鏈接的要點:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.