美文网首页
java api操作HDFS

java api操作HDFS

作者: 一条IT | 来源:发表于2018-12-28 09:54 被阅读16次

如果是使用maven的话,导入如下依赖即可,否则需要在解压好的hadoop文件夹下找到common文件夹和hdfs文件夹下的jar包

<dependency>
    <groupId>org.apache.hadoop</groupId>
   <artifactId>hadoop-client</artifactId>
    <version>2.8.3</version>
</dependency>

如果在运行过程中出现以下问题:

Caused by: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.AccessControlException): Permission denied: user=ttc, access=WRITE, inode="/":root:supergroup:drwxr-xr-x

需要在之前写入root。

//填写上传文件的用户名是root,默认administrator没有这个权限!
System.setProperty("HADOOP_USER_NAME", "root") ;
public class App 
{
    Configuration configuration;
    FileSystem    fileSystem;
    @BeforeTest
    public void  init() throws IOException {
        //填写上传文件的用户名是root,默认administrator没有这个权限!
        System.setProperty("HADOOP_USER_NAME", "root");
        configuration = new Configuration();
        configuration.set("fs.defaultFS","hdfs://hadoop02:8020");
        fileSystem = FileSystem.get(configuration);
    }
    @Test
    public void testUpload() throws IOException {
        System.out.println("hello");
        //将本地的文件上传到hdfs上面。第一个Path是本地的路径,第二个path是hdfs里面的路径。
        fileSystem.copyFromLocalFile(new Path("d:/mylog.txt"),new Path("/mylog.txt"));
        fileSystem.close();
        System.out.println("成功");
    }
    @Test
    public void testDownload()throws IOException{
        //将hdfs里面的下载到本地中,第一个TRUE是代表删除源文件,false不删除源文件。第一个path是hdfs里面的路径;第二个path是本地的路径,ture是copy到本地系统,false是拷贝到hdfs系统中
        fileSystem.copyToLocalFile(true,new Path("/world.txt"),new Path("d://copymylog.txt"),true);
        fileSystem.close();
    }
    @Test
    public void getconfig(){
        Iterator<Map.Entry<String, String>> iterator = configuration.iterator();
        while(iterator.hasNext()){
            Map.Entry<String,String> entry = iterator.next();
            System.out.println(entry.getKey()+":"+entry.getValue());
        }
    }

}

相关文章

  • HDFS支持的访问方式

    √ HDFS Shell命令 √ HDFS Java API √ HDFS REST API √ HDFS ...

  • java api操作HDFS

    如果是使用maven的话,导入如下依赖即可,否则需要在解压好的hadoop文件夹下找到common文件夹和hdfs...

  • java api操作HDFS

    如果是使用maven的话,导入如下依赖即可,否则需要在解压好的hadoop文件夹下找到common文件夹和hdfs...

  • java api 操作hdfs

    引入pom 依赖。hadoop-client 版本对应 cdh版本

  • java api操作HDFS

    如果是使用maven的话,导入如下依赖即可,否则需要在解压好的hadoop文件夹下找到common文件夹和hdfs...

  • java api操作HDFS

    如果是使用maven的话,导入如下依赖即可,否则需要在解压好的hadoop文件夹下找到common文件夹和hdfs...

  • java api操作HDFS

    第一部分 项目创建 一、创建一个maven项目 选中红框所选 部分,点击下一步在下一步之前,确认setting....

  • HDFS的JAVA api操作——学习总结

    目录一、简单JAVA知识二、HDFS的JAVA api操作三、我的学习代码四、我的问题 一、简单JAVA知识 因为...

  • 使用IO流操作HDFS

    除了可以使用系统API进行HDFS操作,还可以通过Java的IO流进行文件的上传和下载。适用于HDFS的自定义操作...

  • HDFS应用开发篇

    HDFS的java操作 hdfs在生产应用中主要是客户端的开发,其核心步骤是从hdfs提供的api中构造一个HDF...

网友评论

      本文标题:java api操作HDFS

      本文链接:https://www.haomeiwen.com/subject/fntslqtx.html