实验1 HDFS Java API编程_第1页
实验1 HDFS Java API编程_第2页
实验1 HDFS Java API编程_第3页
实验1 HDFS Java API编程_第4页
实验1 HDFS Java API编程_第5页
免费预览已结束,剩余2页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精选文库实验1 HDFS爪哇空气污染指数编程一、实验目的1 、理解HDFS在Hadoop体系结构中的角色;2、熟悉HDFS操作常用的爪哇岛应用编程接口。二、实验平台操作系统:LinuxHadoop版本:2.6.0或以上版本JDK版本:1.6或以上版本爪哇岛集成开发环境:日蚀三、实验内容利用HDFS的爪哇岛应用编程接口编程实现以下指定功能:1 、文件读写:通过FSDataOutputStream将文件内容写入HDFS,通过FSDataInputStream从HDFS中读取文件内容。爪哇岛代码:package com。小屋。测试;导入。导入org。阿帕奇。Hadoop。fs。*;导入Java。io。*;公共类我的测试1 公共静态void main(字符串)参数引发io异常配置配置=新配置();会议集(“”,“HDFS :/本地主机:9000”);conf.set(fs.hdfs.impl , org。阿帕奇。Hadoop。HDFS。分布式文件系统”)。文件系统fs=文件系统。获取(conf);路径文件路径=新路径(/user/Hadoop/text。txt );/写入数据fsDataOutputStream OutStream=fs。创建(文件路径);OutStream。WriteUTF( hello world ntest 123 );外流。关闭();/读取数据fsDataInputStream InStream=fs。打开(文件路径);字符串数据=InStream。read utf();系统输出打印输入(数据);在流中。关闭();fs。关闭();2、文件上传:向HDFS中上传任意文本文件,如果指定的文件在HDFS中已经存在,由用户指定是追加到原有文件末尾还是覆盖原有的文件。爪哇岛代码:package com。小屋。测试;导入。导入org。阿帕奇。Hadoop。fs。*;导入Java。io。*;公共类我的测试2 公共静态布尔测试(配置配置,字符串路径)引发io异常文件系统fs=文件系统。获取(conf);返回文件存在(新路径);公共静态空拷贝来自本地文件(配置配置,字符串本地文件路径,字符串远程文件路径)引发io异常文件系统fs=文件系统。获取(conf);路径本地路径=新路径(本地文件路径);路径远程路径=新路径(远程文件路径);/* fs.copyFromLocalFile第一个参数表示是否删除源文件,第二个参数表示是否覆盖*/fs.copyFromLocalFile(假、真、本地路径、远程路径);fs。关闭();公共静态void appendToFile(配置配置,字符串本地文件路径,字符串远程文件路径)引发io异常文件系统fs=文件系统。获取(conf);路径远程路径=新路径(远程文件路径);/*创建一个文件读入流*/文件输入流输入=新文件输入流(本地文件路径);/*创建一个文件输出流,输出的内容将追加到文件末尾*/fsDataOutputStream out=fs。追加(远程路径);/*读写文件内容*/字节数据=新字节1024;int read=-1;而(read=in.read(data) 0) 写出数据,0,读取);出去。关闭();进去。关闭();fs。关闭();公共静态空主要(字符串)参数)配置配置=新配置();会议集(“”,“HDFS :/本地主机:9000”);conf.set(fs.hdfs.impl , org。阿帕奇。Hadoop。HDFS。分布式文件系统”)。糖膏剂设置( DFS。客户。布洛克。写作。失败时替换数据节点。策略”、“从不”);糖膏剂设置( DFS。客户。布洛克。写作。失败时替换数据节点。启用, true );字符串本地文件路径=/home/Hadoop/text。“txt”;/本地路径字符串远程文件路径=/用户/Hadoop/文本。“txt”;/HDFS路径字符串选择=追加;/若文件存在则追加到文件末尾/字符串选择=覆盖;/若文件存在则覆盖尝试/*判断文件是否存在*/布尔文件文件存在=假if (MyTest2.test(conf,remoteFilePath) 文件存在=真系统输出打印输入(远程文件路径)已存在 );其他系统输出打印输入(远程文件路径)不存在 );/*进行处理*/如果(!文件存在) /文件不存在,则上传MyTest2.copyFromLocalFile(conf,localFilePath,RemoteFilePath);系统。出去。println(LocalFilePath 已上传至远程文件路径);否则如果(选择。等于(覆盖)/选择覆盖MyTest2.copyFromLocalFile(conf,localFilePath,RemoteFilePath);系统。出去。println(LocalFilePath 已覆盖远程文件路径);否则如果(选择。等于( append )/选择追加MyTest2.appendToFile(conf,localFilePath,RemoteFilePath);系统。出去。println(LocalFilePath 已追加至远程文件路径);捕捉(例外e) e .printstackTrace();3、文件下载:从HDFS中下载指定文件,如果本地文件与要下载的文件名称相同,则自动对下载的文件重命名。爪哇岛代码:package com。小屋。测试;导入。导入org。阿帕奇。Hadoop。fs。*;导入Java。io。*;公共类我的测试3 /*下载文件到本地判断本地路径是否已存在,若已存在,则自动进行重命名*/公共静态void copyToLocal(配置配置,字符串远程文件路径,字符串本地文件路径)引发io异常文件系统fs=文件系统。获取(conf);路径远程路径=新路径(远程文件路径);文件f=新文件(本地文件路径);/*如果文件名存在,自动重命名(在文件名后面加上_0,_1.)*/如果(f.exists() 系统。出去。println(LocalFilePath 已存在 );整数i=0 .虽然(真)f=新文件(LocalFilePath _ I . ToString();如果(!f.exists() 本地文件路径=本地文件路径 _ 输入到字符串();休息;我;System.out.println(将重新命名为: LocalFilePath);/下载文件到本地路径本地路径=新路径(本地文件路径);fs.copyToLocalFile(远程路径,本地路径);fs。关闭();公共静态空主要(字符串)参数)配置配置=新配置();会议集(“”,“HDFS :/本地主机:9000”);字符串本地文件路径=/home/Hadoop/text。“txt”;/本地路径字符串远程文件路径=/用户/Hadoop/文本。“txt”;/HDFS路径尝试MyTest3.copyToLocal(conf,remoteFilePath,LocalFilePath);System.out.println(下载完成);捕捉(例外e) e .printstackTrace();4、使用字符流读取HDFS中指定文件的内容并输出到终端中爪哇岛代码:package com。小屋。测试;导入。导入org。阿帕奇。Hadoop。fs。*;导入Java。io。*;公共类我的测试4 /*读取文件内容*/公共静态无效猫(配置配

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论