[关闭]
@zhangyy 2016-04-19T10:01:25.000000Z 字数 932 阅读 152

HDFS API基本操作

大数据系列


题目需求:

111.png-46.8kB

    1.合并hadoop 的/home/hadoop/yangyang/hadoop/etc/ 下面的所有配置文件,合并到 hdfs 上/yangyang/hdfs.txt
#mkdir /home/hadoop/file
#cp -p home/hadoop/yangyang/hadoop/etc/* /home/hadoop/
hdfs1.png-14.2kB
#hdfs -dfs -mkdir /yangyang


java 代码

  1. public class PutMerge {
  2. public static void main(String[] args) throws IOException {
  3. Configuration conf = new Configuration();
  4. FileSystem hdfs = FileSystem.get(conf);
  5. FileSystem local = FileSystem.getLocal(conf);
  6. Path inputDir = new Path("/home/hadoop/file/hadoop");
  7. Path hdfsFile = new Path("/yangyang/hdfs.txt");
  8. FileStatus[] inputFiles = local.listStatus(inputDir);
  9. FSDataOutputStream out = hdfs.create(hdfsFile);
  10. for (int i = 0; i < inputFiles.length; i++) {
  11. System.out.println(inputFiles[i].getPath().getName());
  12. FSDataInputStream in = local.open(inputFiles[i].getPath());
  13. byte buffer[] = new byte[256];
  14. int bytesRead = 0;
  15. while ((bytesRead = in.read(buffer)) > 0) {
  16. out.write(buffer, 0, bytesRead);
  17. }
  18. in.close();
  19. }
  20. out.close();
  21. }
  22. }

输出结果:
22.png-70.8kB

下载查看文件

#hdfs dfs -ls /yangyang
#hdfs dfs -get /yangyang/hdfs.txt
#vim hdfs.txt
33.png-31.5kB

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注