以一个上传文件的例子来说 DistributedFileSystem
2013-08-21 19:53
846 查看
public class UploadAndDown { public static void main(String[] args) { UploadAndDown uploadAndDown = new UploadAndDown(); try { //将本地文件local.txt上传为HDFS上cloud.txt文件 uploadAndDown.upLoadToCloud("local.txt", "cloud.txt"); //将HDFS上的cloud.txt文件下载到本地cloudTolocal.txt文件 uploadAndDown.downFromCloud("cloudTolocal.txt", "cloud.txt"); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } private void upLoadToCloud(String srcFileName, String cloudFileName) throws FileNotFoundException, IOException { // 本地文件存取的位置 String LOCAL_SRC = "/home/linuxidc/hbase2/bin/" + srcFileName; // 存放到云端HDFS的位置 String CLOUD_DEST = "hdfs://localhost:9000/user/linuxidc/" + cloudFileName; InputStream in = new BufferedInputStream(new FileInputStream(LOCAL_SRC)); // 获取一个conf对象 Configuration conf = new Configuration(); // 文件系统 FileSystem fs = FileSystem.get(URI.create(CLOUD_DEST), conf); // 输出流 OutputStream out = fs.create(new Path(CLOUD_DEST), new Progressable() { @Override public void progress() { System.out.println("上传完成一个文件到HDFS"); } }); // 连接两个流,形成通道,使输入流向输出流传输数据 IOUtils.copyBytes(in, out, 1024, true); } private void downFromCloud(String srcFileName, String cloudFileName) throws FileNotFoundException, IOException { // 云端HDFS上的文件 String CLOUD_DESC = "hdfs://localhost:9000/user/linuxidc/"+cloudFileName; // down到本地的文件 String LOCAL_SRC = "/home/linuxidc/hbase2/bin/"+srcFileName; // 获取conf配置 Configuration conf = new Configuration(); // 实例化一个文件系统 FileSystem fs = FileSystem.get(URI.create(CLOUD_DESC), conf); // 读出流 FSDataInputStream HDFS_IN = fs.open(new Path(CLOUD_DESC)); // 写入流 OutputStream OutToLOCAL = new FileOutputStream(LOCAL_SRC); // 将InputStrteam 中的内容通过IOUtils的copyBytes方法复制到OutToLOCAL中 IOUtils.copyBytes(HDFS_IN, OutToLOCAL, 1024, true); } }
如图是个从远程向hadoop 文件系统上传文件的例子。
相关文章推荐
- 一个简单的jQuery插件ajaxfileupload实现ajax上传文件例子
- 一个简单的jQuery插件ajaxfileupload实现ajax上传文件例子
- 一个简单的jQuery插件ajaxfileupload实现ajax上传文件例子
- 一个简单的jQuery插件ajaxfileupload实现ajax上传文件例子
- 转:一个简单的jQuery插件ajaxfileupload实现ajax上传文件例子
- 一个简单的jQuery插件ajaxfileupload实现ajax上传文件例子
- 一个简单的jQuery插件ajaxfileupload.js实现ajax上传文件例子
- 一个简单的jQuery插件ajaxfileupload实现ajax上传文件例子
- 用jsp<html:file>实现一个文件上传的例子,而且有验证
- 一个简单的jQuery插件ajaxfileupload实现ajax上传文件例子
- 一个简单的jQuery插件ajaxfileupload.js实现ajax上传文件例子
- 利用 hadoop 的 FileSystem copyFromLocalFile 方法实现文件上传HDFS中 Hadoop 版本 2.7.0
- System.IO.FileNotFoundException:“未能加载文件或程序集“xxx”或它的某一个依赖项。系统找不到指定的文件。”
- 一个简单的jQuery插件ajaxfileuplo 4000 ad实现ajax上传文件例子
- FileLoad文件上传例子
- 分享一个收集到的文件和目录操作类FileSystemObject
- HTML <input type="file">结合asp.net的一个文件上传示例
- 收藏——在C#使用SHGetFileInfo获取(管理)文件或者文件夹图标(C#封装Win32函数的一个例子)
- html5实现表单内的上传文件框,建立一个可存取到该file的url。
- FileSystem .create()上传文件出现乱码