注册
 找回密码
 注册
江西广告网
查看: 367|回复: 0
打印 上一主题 下一主题

DFS文件读写

[复制链接]

该用户从未签到

1
跳转到指定楼层
发表于 2009-2-12 09:00:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
  在使用hadoop集群时,经常会要用到一个全局性的文件,或是一个hash文件或是一个词表等等。     HadoopDfsReadWriteExample     其实在DFS文件系统中读写文件与其它文件系统本质上是一样的。以下的这个例子就是从一个DFS中读出再写入到另一个DFS中。     Hadoop FileSystem API这个类就是用来做这个读写用的。     首选要用一个配置对象来产生一个 FileSystem 的对象。          Configuration conf = new Configuration();     FileSystem fs = FileSystem.get(conf);     Path inFile = new Path(argv[0]);     Path outFile = new Path(argv[1]);     Configuration conf = new Configuration();     FileSystem fs = FileSystem.get(conf);     Path inFile = new Path(argv[0]);     Path outFile = new Path(argv[1]);     先检验一下if (!fs.exists(inFile)) printAndExit("Input file not found"); if (!fs.isFile(inFile)) printAndExit("Input should be a file"); if (fs.exists(outFile)) printAndExit("Output already exists"); if (!fs.exists(inFile))     printAndExit("Input file not found");     if (!fs.isFile(inFile))     printAndExit("Input should be a file");     if (fs.exists(outFile))     printAndExit("Output already exists");     首先是打开一个文件流:FSDataInputStream in = fs.open(inFile);再打开一个输出的文件流:FSDataOutputStream out = fs.create(outFile);从输入流中读入并输出到输出到流中while ((bytesRead = in.read(buffer)) > 0) { out.write(buffer, 0, bytesRead); } while ((bytesRead = in.read(buffer)) > 0) {     out.write(buffer, 0, bytesRead);     }     再把两个流都关闭in.close(); out.close();  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表