package com.cr.java;
import org.apache.hadoop.fs.FsUrlStreamHandlerFactory;
import org.junit.Test;
import javax.print.DocFlavor;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
/**
* 完成HDFS操作
*/
public class HDFS {
/**
* 第一步:读取HDFS文件
*/
@Test
public void readFile() throws Exception {
System.setProperty("hadoop.home.dir", "E:\hadoop-2.7.5");
//注册HDFS流处理器
URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory());
//拿到HDFS文件系统的url地址
//HDFS NameNode 8020 fs.defaultFS 接收Client连接的RPC端口,用于获取文件系统metadata信息。
URL url = new URL("hdfs://s150:8020/usr/xiaoqiu/hadoop/index.html");
//拿到链接
URLConnection con = url.openConnection();
//读取文件,获取输入流
InputStream is = con.getInputStream();
//创建缓冲区
byte[] buf = new byte[is.available()];
//开始向缓冲区读取
is.read(buf);
//读取完关闭输入流
is.close();
//将缓冲区的内容转为字符串打印出来
String str = new String(buf);
System.out.println(str);
}
}
- 添加Hadoop所有的jar包
- 添加日志文件log4j.properties(一定要加入到src文件夹下面)
欢迎关注我的公众号:小秋的博客
CSDN博客:https://blog.csdn.net/xiaoqiu_cr
github:https://github.com/crr121
联系邮箱:rongchen633@gmail.com
有什么问题可以给我留言噢~