版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
HDFSJAVAAPI大数据离线分析教学目标1.掌握HDFSJAVAAPI的常用操作2.理解HDFS读写流程1.HDFS初始化在使用HDFS提供的API之前,需要先进行HDFS初始化操作。初始化HDFS时会加载HDFS的配置文件,HDFS使用到的配置文件主要为core-site.xml和hdfs-site.xml两个文件。初始化代码样例如下。privatevoidinit()throwsIOException{conf=newConfiguration();//confpathforcore-site.xmlandhdfs-site.xmlconf.addResource(newPath(PATH_TO_HDFS_SITE_XML));conf.addResource(newPath(PATH_TO_CORE_SITE_XML));fSystem=FileSystem.get(conf);}2.创建目录如果要在HDFS文件系统中创建目录,需要FileSystem实例的exists方法判断该目录是否已经存在:如果存在,则直接返回。如果不存在,则调用FileSystem实例的mkdirs方法创建该目录。创建目录代码样例如下。privatebooleancreatePath(finalPathdirPath)throwsIOException{if(!fSystem.exists(dirPath)){fSystem.mkdirs(dirPath);}returntrue;}3.写文件通过调用FileSystem实例的create方法获取写文件的输出流。通常获得输出流之后,可以直接对这个输出流进行写入操作,将内容写入HDFS的指定文件中。写完文件后,需要调用close方法关闭输出流。privatevoidcreateAndWrite()throwsIOException{finalStringcontent="HelloHDFS!";FSDataOutputStreamout=null;try{out=fSystem.create(newPath(DEST_PATH+File.separator+FILE_NAME));out.write(content.getBytes());out.hsync();}finally{out.close();}}4.追加文件内容对于已经在HDFS中存在的文件,可以追加指定的内容,以增量的形式在该文件现有内容的后面追加。通过调用FileSystem实例的append方法获取追加写入的输出流。然后使用该输出流将待追加内容添加到HDFS的指定文件后面。追加完指定的内容后,需要调用close方法关闭输出流。privatevoidappend()throwsIOException{finalStringcontent="HelloHello";FSDataOutputStreamout=null;try{out=fSystem.append(newPath(DEST_PATH+File.separator+FILE_NAME));out.write(content.getBytes());out.hsync();}finally{out.close();}}5.读文件读文件即为获取HDFS上某个指定文件的内容。通过调用FileSystem实例的open方法获取读取文件的输入流。然后使用该输入流读取HDFS的指定文件的内容。读完文件后,需要调用close方法关闭输入流。读文件代码样例如下。6.删除目录通过调用delete方法删除HDFS上某个指定目录。delete方法第二个参数代表是否递归删除目录下面的所有目录。如果该参数为false,而目录下还存在文件或者子目录,则删除目录操作会失败。privatebooleandeletePath(finalPathdirPath)throwsIOException{if(!fSystem.exists(dirPath)){returnfalse;}//fSystem.delete(dirPath,true);returnfSystem.delete(dirPath,true);}7.删除文件通过调用delete方法删除HDFS上某个指定文件。重要:待删除的文件会被直接删除,且无法恢复,因此,请谨慎使用删除文件操作。privatevoiddeleteFile()throwsIOException{PathbeDeletedPath=newPath(DEST_PATH+File.separator+FILE_NAME);if(fSystem.delete(beDeletedPath,true)){LOG.info("successtodeletethefile");}else{LOG.warn("failedtodeletethefile");}}8.API核心操作JAVA操作得到FileSystem操作对象后,即可实现HDFS的文件夹管理、文件上传下载、判断、复制、遍历、删除等常见操作小结1.HDFS初始化需要加载core-site.xml和hdfs-site.xml配置文件
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 黑龙江省伊春市乌伊岭区2027届六年级数学第一学期期末质量跟踪监视模拟试题含解析
- 南充市营山县2027届三年级数学第一学期期末教学质量检测试题含解析
- 河北省承德市双桥区2027届数学四上期末质量跟踪监视试题含解析
- 四川省南充市阆中市2027届数学六年级第一学期期末检测模拟试题含解析
- 台州市天台县2025年数学四年级第二学期期末综合测试试题(含解析)
- 2025-2026学年项链的教学设计板书设计
- 可克达拉市2025届数学三年级下学期期末监测试题含解析
- 滨州市2025山东滨州市邹平市融媒体中心招聘专业技术人员3人笔试历年参考题库典型考点附带答案详解
- 第五章 Arduino开源硬件、传感器和通信模块
- 边缘计算任务卸载数据融合技术论文
- 决胜分班考:2026江苏省新高一入学摸底测试全科高频考点与模拟训练
- GB/T 24026-2026环境标志和声明足迹信息交流的原则、要求和指南
- 国企中层干部竞聘测试题库(+答案)
- DLT595-2025《六氟化硫电气设备气体监督导则》深度解读
- 施工暖通管道安装方案
- 湖北新八校2026届高三第二次联考(二模)语文试题及参考答案
- 家家悦超市成本控制策略与实践研究
- 永辉超市门店SOP标准作业流程制度规定
- 2026年基层应急管理规范考试试题及答案
- 县级国土空间总体规划动态维护方案(范本)
- FSSC 22000 食品安全体系认证方案培训课件
评论
0/150
提交评论