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

wordpress成品网站yunbuluo怎么办网站平台

wordpress成品网站yunbuluo,怎么办网站平台,南京网站制作学校,腾讯短链接生成HDFS的API操作 1 HDFS 核心类简介 Configuration类:处理HDFS配置的核心类。 FileSystem类:处理HDFS文件相关操作的核心类,包括对文件夹或文件的创建,删除,查看状态,复制,从本地挪动到HDFS文件系统中等。…

HDFS的API操作

1 HDFS 核心类简介

Configuration类:处理HDFS配置的核心类。

FileSystem类:处理HDFS文件相关操作的核心类,包括对文件夹或文件的创建,删除,查看状态,复制,从本地挪动到HDFS文件系统中等。

Path类:处理HDFS文件路径。

IOUtils类:处理HDFS文件读写的工具类。

2 HDFS文件处理类FileSystem的核心方法介绍:

1. FileSystem get(URI uri, Configuration conf)根据HDFSURI和配置,创建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依赖

<dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>RELEASE</version></dependency><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-core</artifactId><version>2.8.2</version></dependency><dependency><groupId>org.apache.hadoop</groupId><artifactId>hadoop-common</artifactId><version>3.3.2</version></dependency><dependency><groupId>org.apache.hadoop</groupId><artifactId>hadoop-client</artifactId><version>3.3.2</version></dependency><dependency><groupId>org.apache.hadoop</groupId><artifactId>hadoop-hdfs</artifactId><version>3.3.2</version></dependency></dependencies>

hdfs 创建文件夹

   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 查看文件详情RemoteIterator<LocatedFileStatus> 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.tj-hxxt.cn/news/89808.html

相关文章:

  • 做自由行的网站软文广告经典案例800字
  • 做名片模板网站营销软件有哪些
  • 福州制作手机网站自媒体平台大全
  • 安康公司做网站营销方案案例
  • 做阿里网站卖东西赚钱网站seo优化方案策划书
  • 河北省建设信息中心网站搜外友链
  • 北京做机床的公司网站定制营销型网站建设
  • 广西网站建设智能优化新闻投稿平台有哪些
  • 做便宜网站千锋教育培训收费一览表
  • 没有logo可以做网站的设计吗百度官方平台
  • 鄂州做网站报价北京关键词排名推广
  • 自己做电影网站违法百度资源平台
  • 官方网站建设公上海seo优化外包公司
  • 自己做的产品在哪个网站上可从卖网络推广的工作内容
  • WordPress电影公司网站主题商丘关键词优化推广
  • 局域网站怎么做网络营销期末总结
  • 电子商务网站建站目的长沙百家号seo
  • 苏州网站建站推广上优化seo
  • 怎么不花钱做网站网站建设公司服务
  • 张裕网站建设的目标网站模板免费下载
  • 萧县做网站石家庄整站优化技术
  • 服务行业网站建设seo排名赚官网
  • 杭州网站建设网厦门网
  • 哪里可以免费申请空间 注册域名 申请网站网站免费网站免费
  • 做美食视频的网站有哪些茶叶推广软文
  • 网站后台排版布局常德seo快速排名
  • 给网站做路由网络营销推广流程
  • 公司做网站要有服务器b2b网站
  • 共青城网站建设企业网站seo优化公司
  • 做网站先做ue交换链接