将本地文件复制到复制到Hadoop文件系统

//将本地文件复制到复制到Hadoop文件系统

//目前,其他Hadoop文件系统写入文件时均不调用progress()方法。

package com;

import java.io.BufferedInputStream;

import java.io.FileInputStream;

import java.io.InputStream;

import java.io.OutputStream;

import java.net.URI;

import org.apache.hadoop.conf.Configuration;

import org.apache.hadoop.fs.FileSystem;

import org.apache.hadoop.fs.Path;

import org.apache.hadoop.io.IOUtils;

import org.apache.hadoop.util.Progressable;

public class FileCopyWithProgress {

public static void main(String[] args) throws Exception{

String localSrc = args[0];

String dst = args[1];

InputStream in = new BufferedInputStream(new FileInputStream(localSrc));

Configuration conf = new Configuration();

FileSystem fs = FileSystem.get(URI.create(dst), conf);

OutputStream out = fs.create(new Path(dst), new Progressable(){

public void progress(){

System.out.println(".");

}

});

IOUtils.copyBytes(in, out, 4096, true);

}

}

时间: 2024-12-14 22:39:06

将本地文件复制到复制到Hadoop文件系统的相关文章

复制本地文件到HDFS本地测试异常

项目中需要将本地文件拷贝到hdfs上,由于本人比较懒,于是使用擅长的Java程序通过Hadoop.FileSystem.CopyFromLocalFile方法来实现. 在本地(Window 7 环境)本地模式下运行却遇到了下述异常: An exception or error caused a run to abort: org.apache.hadoop.io.nativeio.NativeIO$Windows.createFileWithMode0(Ljava/lang/String;JJJ

AIX环境下文件远程传输复制工具--rsync安装测试

一.RSYNC简介   rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件.rsync使用所谓的"rsync算法"来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快.  rsync的基本特点如下:1.可以镜像保存整个目录树和文件系统:2.可以很容易做到保持原来文件的权限.时间.软硬链接等:3.无须特殊权限即可安装:4.优化的流程,文件传输效率高:5.可以使用

linux下跨服务器文件文件夹的复制

文件的复制:scp –P (端口号) ./authorized_keys [email protected]:/home/berchina 文件夹的复制:scp -r -P (端口号) /home/berchina/hadoop-2.2.0 [email protected]:/home/berchina/ 注: 红色 字体是我敲击的命令 “#” 是注释语 [[email protected] server]# ftp 10.2.1.67     #登录服务器Connected to 10.2.

使用IO流对文件夹的复制(文件夹中带有子目录)

当我们要复制带有子目录的文件夹的时候,就必须使用递归,这样才能把全部的文件夹都复制到位 思路和步骤: 对于文件夹的复制,分2种情况               (1)当我们对文件进行遍历的时候,如果目标文件夹下的文件是个标准文件的话,我们就可以直接去做复制的动作,               (2)当目标文件中,是带有文件夹的文件,那么这个时候就需要对文件夹进行递归,直到最后它是个标准文件后,我们在做复制动作 有了上述的2种情况后,那么这个需求,需要提供2种方法,1是对标准文件的复制,2是对带有

Java基础-输入输出-3.编写BinIoDemo.java的Java应用程序,程序完成的功能是:完成1.doc文件的复制,复制以后的文件的名称为自己的学号姓名.doc。

3.编写BinIoDemo.java的Java应用程序,程序完成的功能是:完成1.doc文件的复制,复制以后的文件的名称为自己的学号姓名.doc. try { FileInputStream in = new FileInputStream("e:/TextRw.txt"); FileOutputStream out = new FileOutputStream("e:/2012412440张伟.txt"); int i =0; byte[] b1 = new by

MFC通过txt查找文件并进行复制-备忘

MFC基于对话框的Demo txt中每行一个23位的卡号. 文件夹中包含以卡号命名的图像文件.(fpt或者bmp文件) 要求遍历文件夹,找到txt中卡号所对应的图像文件,并复制出来. VC6.0写的. 太懒了,代码以前写过,直接复制就OK. **.cpp 下边的代码比较常用and改动比较大,备忘一下. void CRenameFileDlg::OnButton1() {//按钮1 UpdateData(); char buf[MAX_PATH] = {0}; if (select_any(buf

精品软件 推荐 损坏的文件和数据复制软件 AnyReader

AnyReader 是一款损坏的文件和数据复制软件,它可以有效的从任何类型的磁盘或错误的连接中复制并保存那些已经无法用常规手段读取的文件,如CD.DVD.网络驱动器.闪存.Zip磁盘.软盘等上损坏的数据. AnyReader 支持从远程电脑恢复中断连接的复制(断点续传),尤其对不稳定的Wi-Fi网络有效. AnyReader 可以从划伤的CD.DVD或者损坏的软盘.硬盘等复制文件.通常当你的电脑不能从损坏的磁盘中复制文件时,电脑会忽略或者删除已经复制的文件. AnyReader 会继续复制文件直

C#操作文件、文件夹(复制、删除、新增、设置只读)-技术&分享

C#操作文件.文件夹(复制.删除.新增.设置只读)-技术&分享 using System; using System.IO; using System.Windows; using System.Windows.Documents; using System.Xml; namespace WorkItemCreateBussiness.HzClass { public class HzFile { /// <summary> /// 删除指定文件夹下的所有文件和子文件夹 /// <

电脑的文件怎么拷贝复制到VMware虚拟机

我们有时候想要在电脑和虚拟机之间复制粘贴文件,当然最笨的方法是用U盘进行复制转移,但是这样也太落伍了吧,那么我们怎么利用虚拟机自带的功能,然后将电脑的文件复制拷贝到VMware虚拟机中呢?有些朋友不太熟悉操作方法,其实这里面我们主要是要安装虚拟机的VMware Tools工具,我们安装这个工具以后,不仅仅可以将电脑文件拷贝到虚拟机,当然也可以将虚拟机的文件转移到电脑,这里小编介绍下操作方法. 工具/原料 电脑和VMware虚拟机文件复制互传 电脑的文件怎么拷贝复制到VMware虚拟机 我们打开虚