您的位置 首页 > 数码极客

Java如何上传本地指定文件


一、开发准备工作

1、相关的jar包

jar包的可以从hadoop所在位置的 common的文件夹里面获得,这里的路径为:

/usr/local


二、使用Java的API将本地文件上传到hdfs

import java.io.InputStream;

import java.net.URI;

import org.a;

import org.a;

import org.a;

import org.a;

public class HDFUploadFile {

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

//本地文件uri

String localSrc = args[0];

//hdfs文件uri

String dst = args[1];

//获取输入流

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

//创建hadoop配置对象

Configuration conf = new Configuration();

//创建hadoop文件系统对象

FileSystem fs = FileSy(dst), conf);

//创建输出流

OutputStream out = (new Path(dst), new Progressable() {

public void progress(){

Sy(".");

}

});

//将输入流拷贝到输出流

IOU(in, out,4096,true);

}

}

将上述的类使用Eclipse导出jar文件,以便在hadoop环境中执行,步骤如下:

步骤一 右键点击项目“hdfsDemo”,在弹出的菜单中选择“Export”


步骤二 在弹出的对话框中选择JavaàJAR fileàNext,如下图所示:


别忘记选主类:


在/home目录下建立个测试文件,并上传到HDFS的/user/下,以便于测试,操作如下:

(1)建立测试文件



(2)将上传到HDFS的/user下:


(3)使用命令查看已经上传的文件


在hadoop环境下运行HDFSUploadFile类:

(1)情形1:如果本地文件文件存在,并且对应的HDFS上/user/也存在

将/home/内容修改如下:


在/home路径下执行如下命令:

hadoop jar /user/

其中是上述过程导出的jar文件, 当前目录下路径的本地文件,在程序中args[0]参数指定的,/user/是HDFS路径。那么上传的是本地最新的文件,操作如下:


(2)情形2:如果本地文件(例如goods.log)在对应的HDFS上的/user没有

在/home下新创建个goods.log文件


在/home路径下执行如下命令:

hadoop jar goods.log /user



《大数据和人工智能交流》的宗旨

1、将大数据和人工智能的专业数学:概率数理统计、线性代数、决策论、优化论、博弈论等数学模型变得通俗易懂。

2、将大数据和人工智能的专业涉及到的数据结构和算法:分类、聚类 、回归算法、概率等算法变得通俗易懂。

3、最新的高科技动态:数据采集方面的智能传感器技术;医疗大数据智能决策分析;物联网智慧城市等等。

根据初学者需要会有C语言、Java语言、Python语言、Scala函数式等目前主流计算机语言。

根据读者的需要有和人工智能相关的计算机科学与技术、电子技术、芯片技术等基础学科通俗易懂的文章。

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“Java如何上传本地指定文件”边界阅读