如何判断hdfs(hadoop)上的路径是文件还是目录。 10

比如我的hadoop下有个目录“/user/lee/”,该目录下有个文件test,如果用Strings="/user/lee/test"表示文件路径,则判断其是文件还是目... 比如我的hadoop下有个目录“/user/lee/”,该目录下有个文件test,如果用String s = "/user/lee/test"表示文件路径,则判断其是文件还是目录的代码怎么写啊?问题解决后再给50分,先谢谢了。 展开
 我来答
来自梅花山魅力无限的重瓣梅
推荐于2017-05-17 · TA获得超过187个赞
知道答主
回答量:173
采纳率:0%
帮助的人:87.7万
展开全部
先用hdfsGetPathInfo 得到一个hdfsFileInfo类型的结构体
get_real_path(dsh, s, real_path);
hdfsFileInfo * pt_hdfs_file_info = hdfsGetPathInfo(hdfs,real_path);//
这个结构体中有个kind属性,就是来区分是文件还是目录
typedef struct {
tObjectKind mKind; /* file or directory */
char *mName; /* the name of the file */
tTime mLastMod; /* the last modification time for the file in seconds */
tOffset mSize; /* the size of the file in bytes */
short mReplication; /* the count of replicas */
tOffset mBlockSize; /* the block size for the file */
char *mOwner; /* the owner of the file */
char *mGroup; /* the group associated with the file */
short mPermissions; /* the permissions associated with the file */
tTime mLastAccess; /* the last access time for the file in seconds */
} hdfsFileInfo;
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ama2000
2012-06-12 · TA获得超过203个赞
知道答主
回答量:17
采纳率:0%
帮助的人:8.6万
展开全部
用ls命令, 如果返回一行说明是文件,如果多行则表示目录
hadoop fs -ls $path | grep $path | wc -l
追问
API有直接操作Hadoop的索引(FsImage)的吗?我的意思是直接用API实现,我知道脚本命令。如果你可以解决这个问题也可以
http://zhidao.baidu.com/question/432606039.html?quesup2&oldq=1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友f2cb5d3
2012-06-21
知道答主
回答量:23
采纳率:0%
帮助的人:14.8万
展开全部
hadoop fs -ls $path | grep $path | wc -l
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我为sky狂
2012-06-13 · TA获得超过101个赞
知道答主
回答量:26
采纳率:0%
帮助的人:9.6万
展开全部
这个简单 创建一个FileStatus 对象 调用isDir()方法 返回一个布尔值 我想这个你该懂的吧。。这个你多看看api就知道。。不知道你能满意不
追问
这个我懂并且已经解决了 能解决下面这个问题吗?
API有直接操作Hadoop的索引(FsImage)的吗?我的意思是直接用API实现,我知道脚本命令。如果你可以解决这个问题也可以
http://zhidao.baidu.com/question/432606039.html?quesup2&oldq=1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式