Java操作HDFS
Java操作HDFS
准备工作:
Hadoop环境变量配置
jdk环境变量配置
不详细演讲
下面直接演示代码:(如下)
点击查看代码
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IOUtils;
import org.junit.Before;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.URI;
import org.apache.hadoop.fs.FileSystem;
import org.junit.Test;
/**
* @ClassName:Java_HDFS
* @Description:TODO
* @author:Li Wei Ning
* @Date:2022/4/16 8:40
*/
public class Java_HDFS {
/**
* 定义文件系统,类变量
*/
FileSystem fs = null;
/**
* 预处理,@Test之前
*/
@Before
public void init(){
try {
fs = FileSystem.get(new URI("hdfs://192.168.47.128:9000"),new Configuration(),"root");
}catch (Exception e){
e.printStackTrace();
}finally {
System.out.println("成功!!!");
}
}
/**
* 打印文件系统
*/
@Test
public void printFs(){
System.out.println(fs);
}
/**
* 创建文件
*/
@Test
public void mkdir(){
try {
boolean ret = fs.mkdirs(new Path("/abc"));
System.out.println(ret);
}catch (Exception e){
e.printStackTrace();
}
}
/**
* 上传文件
*/
public void put(){
try {
fs.copyFromLocalFile(new Path("D:/1.txt"),new Path("/1.txt"));
}catch (Exception e){
e.printStackTrace();
}
}
/**
* 重命名
*/
@Test
public void rename(){
try {
if(fs.exists(new Path("/s1.txt"))){
System.out.println(fs.rename(new Path("s1.txt"),new Path("/s2.txt")));
}
}catch (Exception e){
e.printStackTrace();
}
}
/**
* 下载
*/
public void downLoad(){
try {
InputStream in = fs.open(new Path("/123.txt"));
FileOutputStream out = new FileOutputStream(new File("D:/123.txt"));
IOUtils.copyBytes(in,out,2048,true);
}catch (Exception e){
e.printStackTrace();
}
}
}
W
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?