分享

hdfs读取数据错误

mituan2008 发表于 2013-10-25 10:44:18 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 2 4236
小弟刚开始学习hdfs,想练习一下读取数据:先向本地磁盘写了1G的数据,然后将数据用put命令复制到hdfs,然后写了一个小程序用于读取hdfs数据,读取数据时发现有时会出现读取的数据不够,代码如下:
n = hdfsRead(fs, readFile, buf, count);
printf("hdfsRead return %d bytes\n", n);
我的count是25600,但有时读出来n确是18960,而且这个我自己计算了一下,只会发生在一个64M的块读完的时候,有谁遇到过吗吗?麻烦的给下指点吧,想不通

已有(2)人评论

跳转到指定楼层
poptang4 发表于 2013-10-25 10:44:18
Hadoop 默认块大小是64M,读取数据最好按文件来读。 不知道你是怎么读去的数据。
Configuration config = new Configuration(true);
FileSystem hdfs = FileSystem.get(config);

通过hdfs提供的方法可以读取数据。
回复

使用道具 举报

a2325145 发表于 2013-10-25 10:44:18
谢谢了,第一次用hdfs,不知道怎么回事,我是一次读25600字节,用的c接口,现在只能再多读一次,多缺少的再读出来,多谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条