javahadoop:在hdfs中打开文件夹以便读取

u0sqgete  于 2021-05-29  发布在  Hadoop
关注(0)|答案(0)|浏览(264)

我正在尝试读取reduce step的setup()方法中的后处理文件,使用:

FSDataInputStream singlesInputStream = fs.open(new Path("/output/1/part-r-00000")); //singles

该文件包含具有键和值的大型Map的条目。
对于较小的输入,hadoop是可以的,但是对于较大的输入,hadoop会根据reducer计数分割输出文件。所以我试着用:

FSDataInputStream singlesInputStream = fs.open(new Path("/output/1/")); //note the path

它不起作用并引发异常:

Error: java.io.FileNotFoundException: Path is not a file: /output/1
at org.apache.hadoop.hdfs.server.namenode.INodeFile.valueOf(INodeFile.java:75)
at org.apache.hadoop.hdfs.server.namenode.INodeFile.valueOf(INodeFile.java:61)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getBlockLocationsInt(FSNamesystem.java:1828)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getBlockLocations(FSNamesystem.java:1799)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getBlockLocations(FSNamesystem.java:1712)
at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.getBlockLocations(NameNodeRpcServer.java:588)
at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.getBlockLocations(ClientNamenodeProtocolServerSideTranslatorPB.java:365)
at org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java)
at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:616)
at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:982)
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2049)
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2045)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:422)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1698)
at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2045)

有没有加载hdfs文件夹并对其进行流式处理的选项?我找不到正确的api。
我想将数据加载到这个map/reduce步骤中所有reducer的一个大Map(大约50万个条目)中。有没有更好的方法来加载它并在reducer之间共享Map,我很肯定hadoop对此有框架支持。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题