标签:hdfs Configuration java 10 FileSystem IOUtils fileSystem new configuration
上传文件
方式一:常规流程
@Test
public void uploadFile2Hdfs() throws IOException {
// configuration
Configuration configuration = new Configuration();
// 设置namenode
configuration.set("fs.defaultFS","hdfs://node001:8020");
// filesystem
FileSystem fileSystem = FileSystem.get(configuration);
// 拷贝文件
fileSystem.copyFromLocalFile(new Path("pom.xml"),new Path("/sjj/test"));
// 释放资源
fileSystem.close();
}
方式二:I/O上传文件
@Test
public void putFile2Hdfs() throws URISyntaxException, IOException, InterruptedException {
// 获取文件系统
Configuration configuration = new Configuration();
FileSystem fileSystem = FileSystem.get(new URI("hdfs://node001:8020"), configuration, "sjj");
// 创建输入流
FileInputStream fis = new FileInputStream(new File("pom.xml"));
// 获取输入流,父目录不存在会自动创建
FSDataOutputStream fos = fileSystem.create(new Path("/sjj/test/pom.xml"));
// 流对拷 org.apache.commons.io.IOUtils
IOUtils.copy(fis,fos);
// 释放资源
IOUtils.closeQuietly(fos);
IOUtils.closeQuietly(fis);
fileSystem.close();
}
下载文件
方式一:常规流程
@Test
public void downloadFileFromHdfs() throws IOException {
// configuration
Configuration configuration = new Configuration();
// 设置namenode
configuration.set("fs.defaultFS","hdfs://node001:8020");
// filesystem
FileSystem fileSystem = FileSystem.get(configuration);
// 下载文件
fileSystem.copyToLocalFile(new Path("/sjj/test/pom.xml"),new Path("/Users/soutsukyou/Desktop/ForHadoop/"));
// 释放资源
fileSystem.close();
}
方式二:I/O下载文件
@Test
public void getFileFromHdfs() throws URISyntaxException, IOException, InterruptedException {
// 获取文件系统
Configuration configuration = new Configuration();
FileSystem fileSystem = FileSystem.get(new URI("hdfs://node001:8020"), configuration, "sjj");
// 创建输入流
FSDataInputStream fis = fileSystem.open(new Path("/sjj/test/pom.xml"));
// 获取输出流
FileOutputStream fos = new FileOutputStream("/Users/soutsukyou/Desktop/ForHadoop/");
// 流对拷 org.apache.commons.io.IOUtils
IOUtils.copy(fis,fos);
// 释放资源
IOUtils.closeQuietly(fos);
IOUtils.closeQuietly(fis);
fileSystem.close();
}
其它操作
// 删除文件
fileSystem.delete();
// 重命名文件
fileSystem.rename();
标签:hdfs,Configuration,java,10,FileSystem,IOUtils,fileSystem,new,configuration 来源: https://www.cnblogs.com/S2Jgogo/p/15922074.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。