tntzbzc 发表于 2017-3-6 21:11 谢谢,我懂了,FileSystem调用之后,是通过ClientProtocol协议中的方法实现的。 |
sinv2015 发表于 2017-3-6 15:57 Hadoop RPC接口的ClientProtocol也有实现HDFS文件读写的功能 |
sinv2015 发表于 2017-3-6 10:14 这里涉及到接口与类的关系。类可以实现接口,接口可以有多个实现类。 更多资料可以百度: 找找关于接口与类的关系 |
我举个简单的例子,在我们程序实现中,比如我们要在HDFS上创建一个目录,我们调用的是FileSystem.mkdirs(),在其内部实现中,他则会调用ClientProtocol中的mkdirs来进行实现。我理解的对么 |
首先我们需要知道hadoop通信是通过rpc的,所以关于hadoop操作文件,必定也需要通过rpc.所以猜测二者是调用关系,并非平行关系,也就是二者共同完成文件操作,而不是都具有操作文件的权限。楼主可能看到的分别是实现类及接口 更多内容 Hadoop RPC接口主要定义在org.apache.hadoop.hdfs.protocol包和org.apache.hadoop.hdfs.server.protocol包中,包括以下几个接口: |