当前位置: 首页 > news >正文

如乐建站之家学会网站建设项目

如乐建站之家,学会网站建设项目,网站的栏目,移动应用开发实训报告HDFS的API操作 1 HDFS 核心类简介 Configuration类#xff1a;处理HDFS配置的核心类。 FileSystem类#xff1a;处理HDFS文件相关操作的核心类,包括对文件夹或文件的创建#xff0c;删除#xff0c;查看状态#xff0c;复制#xff0c;从本地挪动到HDFS文件系统中等。…HDFS的API操作 1 HDFS 核心类简介 Configuration类处理HDFS配置的核心类。 FileSystem类处理HDFS文件相关操作的核心类,包括对文件夹或文件的创建删除查看状态复制从本地挪动到HDFS文件系统中等。 Path类处理HDFS文件路径。 IOUtils类处理HDFS文件读写的工具类。 2 HDFS文件处理类FileSystem的核心方法介绍 1. FileSystem get(URI uri, Configuration conf)根据HDFS的URI和配置创建FileSystem实例2. public boolean mkdirs(Path f) throws IOException根据路径创建HDFS文件夹3. FSDataOutput Stream create(Path f, boolean overwrite)根据具体的路径创建文件并且知名是否以重写的方式4. abstract boolean delete(Path f, boolean recursive)根据路径删除文件5. abstract FileStatus[] listStatus(Path f)根据路径返回该路径下所有文件夹或文件的状态。6. Void moveFromLocalFile(Path src, Path dst)将本地路径下的文件挪动到HDFS的指定路径下7. FSDataInputStream open(Path f)打开指定路径下的文件内容 3 执行流程 maven依赖 dependenciesdependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversionRELEASE/version/dependencydependencygroupIdorg.apache.logging.log4j/groupIdartifactIdlog4j-core/artifactIdversion2.8.2/version/dependencydependencygroupIdorg.apache.hadoop/groupIdartifactIdhadoop-common/artifactIdversion3.3.2/version/dependencydependencygroupIdorg.apache.hadoop/groupIdartifactIdhadoop-client/artifactIdversion3.3.2/version/dependencydependencygroupIdorg.apache.hadoop/groupIdartifactIdhadoop-hdfs/artifactIdversion3.3.2/version/dependency/dependencieshdfs 创建文件夹 public static void main(String[] args) throws IOException, Exception, URISyntaxException {Configuration conf new Configuration(); // conf.set(fs.defaultFS, hdfs://hadoop102:9000);// 1 获取hdfs客户端对象 // FileSystem fs FileSystem.get(conf );FileSystem fs FileSystem.get(new URI(hdfs://node1:9820), conf, root);// 2 在hdfs上创建路径fs.mkdirs(new Path(/dir01/));// 3 关闭资源fs.close();System.out.println(over);}1 HDFS文件上传测试参数优先级 // 1 文件上传Testpublic void testCopyFromLocalFile() throws IOException, InterruptedException, URISyntaxException{// 1 获取fs对象Configuration conf new Configuration();conf.set(dfs.replication, 2);FileSystem fs FileSystem.get(new URI(hdfs://node1:9820), conf , root);// 2 执行上传APIfs.copyFromLocalFile(new Path(e:/info.txt), new Path(/file1.txt));// 3 关闭资源fs.close();}2 HDFS文件下载 // 2 文件下载Testpublic void testCopyToLocalFile() throws URISyntaxException, IOException, InterruptedException {// 1 获取对象Configuration conf new Configuration();// conf.set(dfs.replication, 2);FileSystem fs FileSystem.get(new URI(hdfs://node1:9820), conf , root);// 2 执行下载操作 // fs.copyToLocalFile(new Path(/banhua.txt), new Path(e:/banhua.txt));fs.copyToLocalFile(false, new Path(/file1.txt), new Path(e:/file2.txt), true);// 3 关闭资源fs.close();}3 HDFS文件夹删除 // 3 文件删除Testpublic void testDelete() throws IOException, InterruptedException, URISyntaxException{// 1 获取对象Configuration conf new Configuration();FileSystem fs FileSystem.get(new URI(hdfs://node1:9820), conf , root);// 2 文件删除fs.delete(new Path(/dir01), true);// 3 关闭资源fs.close();}4 HDFS文件名更改 // 4 文件更名Testpublic void testRename() throws IOException, InterruptedException, URISyntaxException{// 1 获取对象Configuration conf new Configuration();FileSystem fs FileSystem.get(new URI(hdfs://node1:9820), conf , root);// 2 执行更名操作fs.rename(new Path(/file1.txt), new Path(/file111.txt));// 3 关闭资源fs.close();}5 HDFS文件详情查看 查看文件名称、权限、长度、块信息 // 5 文件详情查看Testpublic void testListFiles() throws IOException, InterruptedException, URISyntaxException{// 1 获取对象Configuration conf new Configuration();FileSystem fs FileSystem.get(new URI(hdfs://node1:9820), conf , root);// 2 查看文件详情RemoteIteratorLocatedFileStatus listFiles fs.listFiles(new Path(/), true);while(listFiles.hasNext()){LocatedFileStatus fileStatus listFiles.next();// 查看文件名称、权限、长度、块信息System.out.println(fileStatus.getPath().getName());// 文件名称System.out.println(fileStatus.getPermission());// 文件权限System.out.println(fileStatus.getLen());// 文件长度BlockLocation[] blockLocations fileStatus.getBlockLocations();for (BlockLocation blockLocation : blockLocations) {String[] hosts blockLocation.getHosts();for (String host : hosts) {System.out.println(host);}}System.out.println(------ok分割线--------);}// 3 关闭资源fs.close();}6 HDFS文件和文件夹判断 // 6 判断是文件还是文件夹Testpublic void testListStatus() throws IOException, InterruptedException, URISyntaxException{// 1 获取对象Configuration conf new Configuration();FileSystem fs FileSystem.get(new URI(hdfs://node1:9820), conf , root);// 2 判断操作FileStatus[] listStatus fs.listStatus(new Path(/));for (FileStatus fileStatus : listStatus) {if (fileStatus.isFile()) {// 文件System.out.println(f:fileStatus.getPath().getName());}else{// 文件夹System.out.println(d:fileStatus.getPath().getName());}}// 3 关闭资源fs.close();}4 HDFS的I/O流操作 上面我们学的API操作HDFS系统都是框架封装好的。那么如果我们想自己实现上述API的操作该怎么实现呢 我们可以采用IO流的方式实现数据的上传和下载。 1 HDFS文件上传 1需求把本地e盘上的banhua.txt文件上传到HDFS根目录 2编写代码 Testpublic void putFileToHDFS() throws IOException, InterruptedException, URISyntaxException {// 1 获取文件系统Configuration configuration new Configuration();FileSystem fs FileSystem.get(new URI(hdfs://node1:9820), configuration, root);// 2 创建输入流FileInputStream fis new FileInputStream(new File(e:/hahaha.txt));// 3 获取输出流FSDataOutputStream fos fs.create(new Path(/hahaha.txt));// 4 流对拷IOUtils.copyBytes(fis, fos, configuration);// 5 关闭资源IOUtils.closeStream(fos);IOUtils.closeStream(fis);fs.close();}2 HDFS文件下载 1需求从HDFS上下载banhua.txt文件到本地e盘上 2编写代码 Testpublic void getFileFromHDFS() throws IOException, InterruptedException, URISyntaxException{// 1 获取文件系统Configuration configuration new Configuration();FileSystem fs FileSystem.get(new URI(hdfs://node1:9820), configuration, root);// 2 获取输入流FSDataInputStream fis fs.open(new Path(/jinan/info/lenovo/hello.txt));// 3 获取输出流FileOutputStream fos new FileOutputStream(new File(e:/hello.txt));// 4 流的对拷IOUtils.copyBytes(fis, fos, configuration);// 5 关闭资源IOUtils.closeStream(fos);IOUtils.closeStream(fis);fs.close();}
http://www.huolong8.cn/news/76645/

相关文章:

  • 怎么做网站数据库备份软件工程名词解释
  • wordpress主题界面seo优化网站
  • 织梦cms做电影网站昌吉市住房和城乡建设局网站
  • nginx优化wordpress网站速度网站开发 超速云
  • 温州哪里做网站比较好气泡做网站上方代码
  • 中工信融网站建设淘宝官网电脑版网页
  • 黄山地区建设行业网站网站设计开发环境
  • 网站开发与应用课程讨论石家庄建站模板
  • 网站建设销售职责icp网站备案流程
  • 信阳网站建设招聘东莞vi设计
  • 毕节市交通建设集团网站河池市住房城乡建设网站
  • 内蒙古网站建设手工制作衣服童装环保
  • 通过网站做外贸wordpress主题首页文件夹
  • 高端网站设计制作方法上海企业排行榜
  • 网站开发 法律网上书城网站开发背景
  • 广州网站建设正规公司做psd模板下载网站
  • 网站运行及维护wordpress权限设置方法
  • 17zwd一起做业网站免费网站推广网站在线
  • 政务公开网站开发江门专业网站建设公司
  • 做电商哪几个设计网站比较好境内境外网站区别
  • 网站维护模式企业建设网站没有服务器
  • 网站设计跟网页制作河北集团网站建设
  • 昭通网站建设兼职网站开发的就业方向
  • 贵州省教育厅办公室关于开展2014年学校门户网站建设评估的通知银川企业网站设计制作
  • 网站开发校园经历范文购物网站搜索功能怎么做
  • seo蒙牛伊利企业网站专业性诊断网络系统搭建
  • 传诚信网站建设diy网站开发公司
  • 昆明网站推广优化公司免费音效素材网站
  • 购物网站开发设计类图新手建什么网站赚钱
  • 网站有些什么内容做网站多少钱 优帮云