仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 768|回复: 8
打印 上一主题 下一主题

[学习教程] 来看怎样用java程序把当地文件拷贝到hdfs上并显现进度

[复制链接]
不帅 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 10:59:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
java比较简单,没有C++的烦琐,但学习时最好有C++为基础.与JSP和SQL起应用,功能强大.
把程序打成jar包放到Linux上
转到目次下实行命令hadoopjarmapreducer.jar/home/clq/export/java/count.jarhdfs://ubuntu:9000/out06/count/
下面一个是当地文件,一个是上传hdfs地位
乐成后呈现:打印出来,你所要打印的字符。
  1. packagecom.clq.hdfs;
  2. importjava.io.BufferedInputStream;
  3. importjava.io.FileInputStream;
  4. importjava.io.IOException;
  5. importjava.io.InputStream;
  6. importjava.net.URI;
  7. importorg.apache.hadoop.conf.Configuration;
  8. importorg.apache.hadoop.fs.FSDataOutputStream;
  9. importorg.apache.hadoop.fs.FileSystem;
  10. importorg.apache.hadoop.fs.Path;
  11. importorg.apache.hadoop.io.IOUtils;
  12. importorg.apache.hadoop.util.Progressable;
  13. publicclassFileCopyWithProgress{
  14. //********************************
  15. //把当地的一个文件拷贝到hdfs上
  16. //********************************
  17. publicstaticvoidmain(String[]args)throwsIOException{
  18. StringlocalSrc=args[0];
  19. Stringdst=args[1];
  20. InputStreamin=newBufferedInputStream(newFileInputStream(localSrc));
  21. Configurationconf=newConfiguration();
  22. FileSystemfs=FileSystem.get(URI.create(dst),conf);
  23. FSDataOutputStreamout=fs.create(newPath(dst),newProgressable(){
  24. @Override
  25. publicvoidprogress(){
  26. System.out.print(".");
  27. }
  28. });
  29. IOUtils.copyBytes(in,out,conf,true);
  30. }
  31. }
复制代码
检察本栏目更多出色内容:http://www.bianceng.cn/Programming/Java/
大概呈现非常:
Exceptioninthread"main"org.apache.hadoop.ipc.RemoteException:java.io.IOException:Cannotcreate/out06;alreadyexistsasadirectory
atorg.apache.hadoop.hdfs.server.namenode.FSNamesystem.startFileInternal(FSNamesystem.java:1569)
atorg.apache.hadoop.hdfs.server.namenode.FSNamesystem.startFile(FSNamesystem.java:1527)
atorg.apache.hadoop.hdfs.server.namenode.NameNode.create(NameNode.java:710)
atorg.apache.hadoop.hdfs.server.namenode.NameNode.create(NameNode.java:689)
atsun.reflect.GeneratedMethodAccessor7.invoke(UnknownSource)
atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
atjava.lang.reflect.Method.invoke(Method.java:606)
atorg.apache.hadoop.ipc.RPC$Server.call(RPC.java:587)
atorg.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1432)
atorg.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1428)
atjava.security.AccessController.doPrivileged(NativeMethod)
atjavax.security.auth.Subject.doAs(Subject.java:415)
申明你这个路径在hdfs上已存在,换一个便可。

C#是不行的,比如说美国的航天飞船里就有java开发的程序以上是我的愚见,其实不管那种语言,你学好了,都能找到好的工作,
蒙在股里 该用户已被删除
沙发
发表于 2015-1-20 12:31:22 | 只看该作者
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
谁可相欹 该用户已被删除
板凳
发表于 2015-1-29 07:08:31 | 只看该作者
是一种突破用户端机器环境和CPU
爱飞 该用户已被删除
地板
发表于 2015-1-30 21:51:29 | 只看该作者
是一种语言,用以产生「小应用程序(Applet(s))
山那边是海 该用户已被删除
5#
发表于 2015-2-6 16:09:32 | 只看该作者
[url]http://www.jdon.com/[/url]去下载,或到同济技术论坛的服务器[url]ftp://nro.shtdu.edu.cn[/url]去下,安装上有什么问题,可以到论坛上去提问。
小女巫 该用户已被删除
6#
发表于 2015-2-17 01:44:45 | 只看该作者
Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
深爱那片海 该用户已被删除
7#
发表于 2015-3-5 14:40:02 | 只看该作者
你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。
8#
发表于 2015-3-12 08:05:50 | 只看该作者
你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。
若相依 该用户已被删除
9#
发表于 2015-3-19 19:02:20 | 只看该作者
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-15 12:13

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表