hdfs Java API 读取数据
编写程序
- 1、创建配置对象
- 2、创建统一资源标识符
- 3、设置数据节点主机名属性
- 4、创建文件系统对象
- 5、创建路径对象
- 6、创建数据输入对象
- 7、IOUtils.copyBytes in,System.out,4096,false
package net.aex.hdfs;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FSDataOutputStream;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IOUtils;
import java.net.URI;
public class test3 {
//读取数据
public static void read() throws Exception{
//第一步创建配置对象
Configuration conf = new Configuration();
//第二步创建统一资源标识符
String uri = "hdfs://master:9000";
//第三步设置数据节点主机名属性
conf.set("dfs.client.use.datanode.hostname","true");
//第四步创建文件系统对象
FileSystem fs = FileSystem.get(new URI(uri),conf,"root");
//第五步创建路径对象
Path path = new Path(uri + "/ied01/hadoop10.txt");
//第六步创建数据输入对象
FSDataInputStream in = fs.open(path);
//第七步IOUtils 可以直接关闭上面的对象很方便
IOUtils.copyBytes(in,System.out,4096,false);
}
public static void main(String[] args)throws Exception {
read();
}
}
查看结果