第六周之Hadoop学习(六)

继续上周开启telnet的过程,这个过程发现win10上运行不了telnet的命令

原因大概在于没有开启telnet服务,从网上下载好telent服务端,安装后继续尝试是否能在win10上使用hadoop

安装完成后,现在在CMD命令中能够连通telnet

接着开启,eclipse 进入上周的上传过程

hadoop上传实验成功!!!

留下了感动了泪花

以下功能,通过网址:https://blog.csdn.net/HcJsJqJSSM/article/details/83418976的教程参考学习

1.实现删除目录的功能

进入网址中查看是否存在相应的目录

网址中存在相应的目录

测试成功将其封装为一个方法:

 

2.删除文件功能

 

测试成功

目标网址中相应目录被删除

将其封装为一个方法:

3.实现上传文件

首先在d盘里面创建一个hadoop.txt的文件,然后在文件里面写上12315的内容,该内容总共5个字节

接着在main里面写上下列的代码

执行程序

执行后,在对应位置能够看到相应的文件

如图:

将其封装为一个方法:

4.实现下载文件

在main中写入下列的函数:

 

 将刚刚上传的hadoop.txt文件下载到d盘的hadoop1.txt中

执行结果:

将其封装为一个方法:

至此,hadoop的在java上基本操作的被封装成一个简单的类了。

其代码如下:

package hadoop;


import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URI;
import java.net.URISyntaxException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IOUtils;

public class HDFSDemo {

    public final String hd_uri = "hdfs://192.168.57.128:9000";
    public final String hd_owner = "hadoop";
    
    public static void main(String[] args) throws IOException, InterruptedException, URISyntaxException  {

//        HDFSDemo down=new HDFSDemo();
        
    }
    public void downloadFile(String path,String source) throws IOException, InterruptedException, URISyntaxException
    {
        // 使用root权限,URI就是之前hadoop配置的路径.9000端口.
        FileSystem fs=getFileSystem();
        // 实现HDFS内的文件下载至本地
        InputStream in=fs.open(new Path(path));
        // 下载到本地,保存后的名称是hadoop.txt
        OutputStream out=new FileOutputStream(source);
        // 按照字节的方式复制.buffersize是4K,写完后返回true.
        IOUtils.copyBytes(in, out, 4096, true);
        //关闭流
        fs.close();
    }
    public void updateFile(String source,String path) throws IOException, InterruptedException, URISyntaxException
    {
        // 使用root权限,URI就是之前hadoop配置的路径.9000端口.
        FileSystem fs=getFileSystem();
        // 实现上传文件,首先是读取本地的文件
        InputStream in=new FileInputStream(source);
        // 上传文件到HDFS的指定目录下.
        OutputStream out=fs.create(new Path(path));
        // 按照字节的方式复制.buffersize是4K,写完后返回true
        IOUtils.copyBytes(in, out, 4096, true);
        // 关闭流
        fs.close();
    }
    
    
    public boolean deleteFileSystem(String path) throws IOException, InterruptedException, URISyntaxException
    {
        //删除目录
        // 使用root权限,URI就是之前hadoop配置的路径.9000端口.
        FileSystem fs=getFileSystem();
        // 删除一个文件夹,这里从HDFS的根目录写起的,如果是单个文件就是false,目录下面有目录就true.
        @SuppressWarnings("deprecation")
        Boolean flag=fs.delete(new Path(path));
        // 关闭 
        fs.close();
        return flag;
    }
    
    public boolean createFileSystem(String path) throws IOException, InterruptedException, URISyntaxException
    {
        //创建目录
        // 使用root权限,URI就是之前hadoop配置的路径.9000端口.
        FileSystem fs=getFileSystem();
        // 创建一个文件夹,这里从HDFS的根目录写起的.
        Boolean flag=fs.mkdirs(new Path(path));
        //关闭流
        fs.close();
        return flag;
    }
    
    public FileSystem getFileSystem() throws IOException, InterruptedException, URISyntaxException
    {
        FileSystem fs=FileSystem.get(new URI(hd_uri), new Configuration(),hd_owner);
        return fs;
    }

}

 

转载于:https://www.cnblogs.com/halone/p/11373173.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
校园悬赏任务平台对字典管理、论坛管理、任务资讯任务资讯公告管理、接取用户管理、任务管理、任务咨询管理、任务收藏管理、任务评价管理、任务订单管理、发布用户管理、管理员管理等进行集中化处理。经过前面自己查阅的网络知识,加上自己在学校课堂上学习的知识,决定开发系统选择小程序模式这种高效率的模式完成系统功能开发。这种模式让操作员基于浏览器的方式进行网站访问,采用的主流的Java语言这种面向对象的语言进行校园悬赏任务平台程序的开发,在数据库的选择上面,选择功能强大的Mysql数据库进行数据的存放操作。校园悬赏任务平台的开发让用户查看任务信息变得容易,让管理员高效管理任务信息。 校园悬赏任务平台具有管理员角色,用户角色,这几个操作权限。 校园悬赏任务平台针对管理员设置的功能有:添加并管理各种类型信息,管理用户账户信息,管理任务信息,管理任务资讯公告信息等内容。 校园悬赏任务平台针对用户设置的功能有:查看并修改个人信息,查看任务信息,查看任务资讯公告信息等内容。 系统登录功能是程序必不可少的功能,在登录页面必填的数据有两项,一项就是账号,另一项数据就是密码,当管理员正确填写并提交这二者数据之后,管理员就可以进入系统后台功能操作区。项目管理页面提供的功能操作有:查看任务,删除任务操作,新增任务操作,修改任务操作。任务资讯公告信息管理页面提供的功能操作有:新增任务资讯公告,修改任务资讯公告,删除任务资讯公告操作。任务资讯公告类型管理页面显示所有任务资讯公告类型,在此页面既可以让管理员添加新的任务资讯公告信息类型,也能对已有的任务资讯公告类型信息执行编辑更新,失效的任务资讯公告类型信息也能让管理员快速删除。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值