Eclipse实现DFS部分操作复习(1)
来源:互联网 发布:怎么利用淘宝联盟赚钱 编辑:程序博客网 时间:2024/06/03 10:49
本文用于复习《Hadoop权威指南》第三章部分内容
代码来自于书中,仅有少部分修改,主要是为了回忆起来方便,顺便用下刚刚学习的MarkDown
在文章eclipse实现word count中就有关于如何在eclipse中开发hadoop项目,链接如下Eclipse实现Hadoop WordCount
- 用setURLStreamHandlerFactory方法来实现以标准格式显示Hadoop文件系统里面的文件,但是特别注意setURLStreamHandlerFactory只能用一次,在这里URL括号里面也可以是args[0]之类的,然后把args[0]设置为路径所指文件
public class URLCat { static { URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory()); } public static void main(String[] args) throws Exception { InputStream in = null; try { in = new URL("hdfs://localhost:9000/user/wyh/dfstrain.txt").openStream(); IOUtils.copyBytes(in, System.out, 4096, false); } finally { IOUtils.closeStream(in); } } }
- 用FileSystem API来实现以标准格式显示Hadoop文件系统里面的文件,uri也可以是args[0],这里用seek方法来使得从流的第几个字节开始copy,但是seek会导致效率变低
public class FileSystemDoubleCat { public static void main(String[] args) throws Exception { String uri = "hdfs://localhost:9000/user/wyh/dfstrain.txt"; Configuration conf = new Configuration(); FileSystem fs = FileSystem.get(URI.create(uri), conf); FSDataInputStream in = null; try { in = fs.open(new Path(uri)); IOUtils.copyBytes(in, System.out, 4096, false); in.seek(5); // go back to the fifth byte of the file IOUtils.copyBytes(in, System.out, 4096, false); } finally { IOUtils.closeStream(in); } } }
用FileSystem API和Progressable方法来实现本地文件复制到Hadoop文件系统并显示进度,可以直接把文件放到包里面尝试
public class FileCopyWithProgress { public static void main(String[] args) throws Exception { String localSrc = "dfstrain2.txt"; String dst = "hdfs://localhost:9000/user/wyh/dfstrain2.txt"; 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.print("."); } }); IOUtils.copyBytes(in, out, 4096, true); }}
0 0
- Eclipse实现DFS部分操作复习(1)
- Eclipse实现DFS部分操作复习(2)
- Eclipse部分操作总结
- Eclipse操作部分快捷键整理
- 部分和问题 (dfs)
- 部分和问题(dfs)
- 数据结构复习(输出二叉排序树部分元素)
- 20151205正则第七部分(awk复习)
- 信息安全课程复习总结(部分)
- 网络复习-应用层(部分)
- 数据结构复习--java实现单链表基本操作
- 实现eclipse可视化操作
- 复习二:dfs
- 代码开源(1)——数据库部分操作封装C#实现
- c库函数 strring.h字符串操作(部分常用实现)
- javascript复习(属性操作)
- NYOJ 部分和问题 8(DFS)
- nyoj1058部分和问题(DFS)
- linux 进程管理
- ice register配置从服务
- 如何在启动FORM程序时直接登录到Oracle数据库上?
- 关于node.js的学习15
- 新手建站十大免费空间推荐、及其使用体验
- Eclipse实现DFS部分操作复习(1)
- 对于APP安全性测试策略的思考
- STM32学习之路之ISP串口下载
- 从远程服务器下载安装包的命令有哪些?
- android studio 如何提示方法的用法
- HTTP协议详解
- Spark——数据分区(进阶)
- FORM中,如何通过 ODBC 访问 Acress 数据?
- 搭建Dubbo管理控制台