hadoop的hdfs文件操作实现上传文件到hdfs
hdfs文件操作操作示例,包括上传文件到HDFS上、从HDFS上下载文件和删除HDFS上的文件,大家参考使用吧
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.*;
import java.io.File;
import java.io.IOException;
public class HadoopFile {
private Configuration conf =null;
public HadoopFile(){
conf =new Configuration();
conf.addResource(new Path("/hadoop/etc/hadoop/core-site.xml"));
}
public HadoopFile(Configuration conf){
this.conf =conf;
}
public boolean sendFile(String path,String localfile){
File file=new File(localfile);
if (!file.isFile()) {
System.out.println(file.getName());
return false;
}
try {
FileSystem localFS =FileSystem.getLocal(conf);
FileSystem hadoopFS =FileSystem.get(conf);
Path hadPath=new Path(path);
FSDataOutputStream fsOut=hadoopFS.create(new Path(path+"/"+file.getName()));
FSDataInputStream fsIn=localFS.open(new Path(localfile));
byte[] buf =new byte[1024];
int readbytes=0;
while ((readbytes=fsIn.read(buf))>0){
fsOut.write(buf,0,readbytes);
}
fsIn.close();
fsOut.close();
FileStatus[] hadfiles= hadoopFS.listStatus(hadPath);
for(FileStatus fs :hadfiles){
System.out.println(fs.toString());
}
return true;
} catch (IOException e) {
e.printStackTrace();
}
return false;
}
public boolean delFile(String hadfile){
try {
FileSystem hadoopFS =FileSystem.get(conf);
Path hadPath=new Path(hadfile);
Path p=hadPath.getParent();
boolean rtnval= hadoopFS.delete(hadPath, true);
FileStatus[] hadfiles= hadoopFS.listStatus(p);
for(FileStatus fs :hadfiles){
System.out.println(fs.toString());
}
return rtnval;
} catch (IOException e) {
e.printStackTrace();
}
return false;
}
public boolean downloadFile(String hadfile,String localPath){
try {
FileSystem localFS =FileSystem.getLocal(conf);
FileSystem hadoopFS =FileSystem.get(conf);
Path hadPath=new Path(hadfile);
FSDataOutputStream fsOut=localFS.create(new Path(localPath+"/"+hadPath.getName()));
FSDataInputStream fsIn=hadoopFS.open(hadPath);
byte[] buf =new byte[1024];
int readbytes=0;
while ((readbytes=fsIn.read(buf))>0){
fsOut.write(buf,0,readbytes);
}
fsIn.close();
fsOut.close();
return true;
} catch (IOException e) {
e.printStackTrace();
}
return false;
}
}
hadoop的hdfs文件操作实现上传文件到hdfs相关推荐
- php文件操作(上传文件)1
表单部分: <html> <head> <meta http-equiv="content-type" content="text/html ...
- python操作谷歌浏览器上传文件封装
在谷歌浏览器打开某个页面(举个例子,chrom浏览器版的百度网盘上传文件),点击上传文件时,会出现上面的弹框,因为这个弹框是属于"操作系统的行为",selenium是不能定位到的, ...
- Confluence wiki上传文件时报“不能上传文件至Confluence中,服务器可能已失效”
Confluence wiki 上传文件时报"不能上传文件至Confluence中,服务器可能已失效"的解决方法. 一. 后台管理修改配置 首先用管理员登陆Confluence后台 ...
- vue+elementui 同时有上传文件和批量上传文件功能,上传文件或批量上传文件后必须刷新才能再次上传文件
报错描述: 使用element-ui的上传文件组件写一个批量上传和上传文件,但是发现每次上传文件后或者批量上传文件后,不能再次上传文件或者批量上传文件.只有进入页面第一次点击上传文件或者批量上传文件才 ...
- linux上传文件命令ftp put,Linux ftp 命令行中下载文件get与上传文件put的命令应用详解...
介绍:从本地以用户anok登录的机器192.168.0.16上通过ftp远程登录到192.168.0.6的ftp服务器上,登录用户名是peo.以下为使用该连接做的实验. 查看远程ftp服务器上用户pe ...
- linux get与put,科技常识:Linux ftp 命令行中下载文件get与上传文件put的命令应用详解...
今天小编跟大家讲解下有关Linux ftp 命令行中下载文件get与上传文件put的命令应用详解 ,相信小伙伴们对这个话题应该也很关注吧,小编也收集到了有关Linux ftp 命令行中下载文件get与 ...
- linux上传文件put,详解Linux ftp 命令行中下载文件get与上传文件put的操作方法
尽管现在有许多好的FTP应用程序,但服务器命令行ftp命令的应用程序仍然很多,下面就让电脑乐园小编带你一起来学习详解Linux ftp 命令行中下载文件get与上传文件put的操作方法. 介绍:从本地 ...
- 用JAVA API实现HDFS常用shell命令的功能(新建文件夹,上传文件,下载文件,判断文件是否存在)
新建文件夹 package hdfs.files;import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Fi ...
- java的springboot项目操作阿里云OSS下载文件、查看文件内容、上传文件,自定义工具类
因为要从oss下载.查看.上传工具类,所以对这几个方法做了一个封装,已经经过测试,可以直接使用 1.yml添加上阿里云配置.添加maven配置 注意这里的objectName: xxx/xxx/,前面 ...
最新文章
- 系统架构性能问题诊断及优化思路,纯干货!
- navicat - Transaction numbers are only allowed on a replica set member or mongos
- 源码解析 Netty Channel接口及其实现类
- TMS320F28335之定时器
- JPA和CMT –为什么捕获持久性异常不够?
- 02. Creating a Web Forms User Interface
- 记录拷贝:centos安装jdk
- Java垃圾回收jconsole分析
- windows上安装Metasploit Framework 4.0
- AWS 技术峰会真的50%都是技术
- 离散数学及其应用(第七版黑书)笔记
- 封面型网页html,网站设计常用网页版式
- 中图分类法----Q 生物科学
- 数据库查询 - 选课系统
- 2022 IDEA全家桶使用最新主题(免申请)
- 力扣347:前k个高频元素---leetcode347:Top K Frequent Elements
- 同学用javascript写好了论坛自动灌水机。
- 复旦大学软件工程硕士博士学位点被撤销!整理20年被撤销计算机相关的学位点名单...
- golang日志库zerolog使用记录
- Android官方实现的层次状态机Hierarchical State Machine源代码
热门文章
- 【错误记录】PyCharm 运行 Python 程序报错 ( UnicodeDecodeError: ‘ascii‘ codec can‘t decode byte 0xe5 in positio )
- 【错误记录】TabLayout 升级支持库版本后报错 ( support:design 支持库升级到 28.0.0 后源码发生变更 )
- 【错误记录】Android 低版本使用分区存储错误 ( 低版本存储不得使用 MediaStore )
- 【MATLAB】图像导出 ( 导出绘制的图像 | 图像设置 )
- BinaryTreeTraversal(二叉树遍历)
- 数字变化滚动到指定数字的文字特效
- 【BZOJ4004】装备购买(线性基)
- 3组现代软件工程第三次作业
- 再谈 Promise
- 20145228《Java程序设计》课程总结