Hadoop文件操作

Jobtracker

Jobtracker守护进程是应用程序和Hadoop之间的纽带。一旦代码提交到集群上,JobTracker就会确定执行计划,包括决定处理哪些文件,为不同的任务分配节点以及监控所有任务的运行。如果任务失败,JobTracker将会自动重启任务,但是所分配的节点可能会不同,同时会受到预定义的重试次数限制。
每个Hadoop集群只有一个JobTracker守护进程,通常运行在服务器集群的主节点上。

Tasktracker

与守护进程类似,计算的守护进程也遵循主从架构:JobTracker作为主节点,监测。

文件API

FileSystem类

一个与文件系统交互的抽象类,存在与不同的具体实现子类用来处理不同HDFS和本地文件系统。

FileSystem.get(Configuration conf)得到需要的FileSystem实例
Configuration类是保存键/值配置参数的特殊类,默认实例化方法是以HDFS系统的资源配置为基础的。
Configuration conf=new Configuration();
FileSystem hdfs=FileSysten.get(conf);

//得到一个专用于本地文件系统的FileSystem对象
FileSystem local=FileSystem.getLocal(conf);
FileStatus对象来存储文件和目录的元数据。
FileStatus[] inputFiles=local.listStatus(inputDir);

//count(inputFiles):等于目录中文件个数,数组中每一个FileStatus对象均有元数据信息,如文件长度、权限、修改时间等。
读取文件

每个文件的path,即inputFiles[i].getPath(),可以通过FSDataInputStream对象来访问这个path读取文件。
FSDataInputStream in=local.open(inputFiles[i].getPath());

写入文件
Path hdfsFile=new Path(args[1]);
FSDataOutputStream out=hdfs.create(hdfsFile);
out.write(buffer,0,bytesRead);
out.close();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值