文档章节

java 操作 hadoop hdfs

Heinrich_Chen
 Heinrich_Chen
发布于 2017/05/22 21:10
字数 227
阅读 27
收藏 0

java 操作 hadoop hdfs

package com.traveller.bumble.hadoop.hdfs;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.*;
import org.apache.hadoop.io.IOUtils;
import org.junit.Test;

import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URL;
import java.net.URLConnection;

/**
 * Created by macbook on 2017/5/21.
 */
public class TestHDFS {


    //    @Test
    public void testRead() {
        try {
            URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory());
            URL url = new URL("hdfs://master:8020/user/master/my.cnf");
            URLConnection conn = url.openConnection();
            InputStream inputStream = conn.getInputStream();
            IOUtils.copyBytes(inputStream, System.out, 1024);
            IOUtils.closeStream(inputStream);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    //    @Test
    public void testWrite() {
        try {
            URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory());
            URL url = new URL("hdfs://master:8020/user/slave1/my.cnf");
            URLConnection conn = url.openConnection();
            OutputStream outputStream = conn.getOutputStream();
            ByteArrayInputStream bis = new ByteArrayInputStream("woxihuanni".getBytes());
            IOUtils.copyBytes(bis, outputStream, 1024);
            IOUtils.closeStream(bis);

        } catch (Exception e) {
            e.printStackTrace();
        }

    }

//    @Test
    public void testFSRead() {

        try {
            Configuration conf = new Configuration();
            conf.set("fs.defaultFS", "hdfs://master:8020");
            FileSystem fileSystem = FileSystem.get(conf);
            FSDataInputStream open = fileSystem.open(new Path("/user/master/my.cnf"));
            IOUtils.copyBytes(open, System.out, 1024);
            IOUtils.closeStream(open);
        } catch (IOException e) {
            e.printStackTrace();
        }


    }


//    @Test
    public void testFSWrite() {
        try {
            Configuration conf = new Configuration();
            conf.set("fs.defaultFS", "hdfs://master:8020");
            FileSystem fileSystem = FileSystem.get(conf);
            FSDataOutputStream fsDataOutputStream = fileSystem.create(new Path("/user/master/my.cnf"));
            ByteArrayInputStream bis = new ByteArrayInputStream("woxihuanni henjiule".getBytes());
            IOUtils.copyBytes(bis, fsDataOutputStream, 1024);
            IOUtils.closeStream(bis);
        } catch (IOException e) {
            e.printStackTrace();
        }

    }

    @Test
    public void testRemove() {
        try {
            Configuration conf = new Configuration();
            conf.set("fs.defaultFS", "hdfs://master:8020");
            FileSystem fileSystem = FileSystem.get(conf);
            boolean flag = fileSystem.deleteOnExit(new Path("/user/master/my.cnf"));
            System.out.println(flag);
        } catch (IOException e) {
            e.printStackTrace();
        }

    }
}

 

© 著作权归作者所有

Heinrich_Chen
粉丝 14
博文 41
码字总数 39863
作品 0
杭州
高级程序员
私信 提问
hadoop2.2.0伪分布式搭建

第一步:安装jdk 我的linux版本是centos7,使用最简单的安装方式,这里首先说一下,由于系统会预装openjdk版本等其他各种版本,首先要做的是清除这些版本,然后iu安装oracle的jdk版本 1.1 查...

施耀邦
2015/06/23
147
0
CDH版本hadoop2.6伪分布式安装

CDH版本hadoop的一个重要分支,使用hadoop-2.6.0-cdh5.9.0在单台CentOS配置hadoop伪分布式环境; 1、基础环境配置 1.1、关闭防火墙和SELinux 1.1.1、关闭防火墙 1.1.2、关闭SELinux 注:以上...

巴利奇
2018/10/30
0
0
Hadoop 2.7.5 集群搭建基于CentOS7u3

记录在64位CentOS 7环境下搭建Hadoop 2.7集群的步骤,这些记录都仅供参考! 1、操作系统环境配置 1.1、操作系统环境 1.2、关闭防火墙和SELinux 1.2.1、关闭防火墙 1.2.2、关闭SELinux 注:以...

巴利奇
2018/10/30
0
0
Hadoop tutorial - 2 - 安装hadoop 2015-3-23

工具: xshell () 安装包: hadoop-2.6.0.tar.gz->2.4.1 http://archive.apache.org/dist/hadoop/core/hadoop-2.4.1/ ----------5/19/2017----------start https://archive.apache.org/dist......

jayronwang
2015/03/23
145
0
Apache Hadoop 入门教程第二章

Apache Hadoop 单节点上的安装配置 下面将演示快速完成在单节点上的 Hadoop 安装与配置,以便你对 Hadoop HDFS 和 MapReduce 框架有所体会。 先决条件 支持平台: GNU/Linux:已经证实了 Ha...

哈斗篷
2018/05/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

关于AsyncTask的onPostExcute方法是否会在Activity重建过程中调用的问题

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/XG1057415595/article/details/86774575 假设下面一种情况...

shzwork
今天
6
0
object 类中有哪些方法?

getClass(): 获取运行时类的对象 equals():判断其他对象是否与此对象相等 hashcode():返回该对象的哈希码值 toString():返回该对象的字符串表示 clone(): 创建并返此对象的一个副本 wait...

happywe
今天
6
0
Docker容器实战(七) - 容器中进程视野下的文件系统

前两文中,讲了Linux容器最基础的两种技术 Namespace 作用是“隔离”,它让应用进程只能看到该Namespace内的“世界” Cgroups 作用是“限制”,它给这个“世界”围上了一圈看不见的墙 这么一...

JavaEdge
今天
8
0
文件访问和共享的方法介绍

在上一篇文章中,你了解到文件有三个不同的权限集。拥有该文件的用户有一个集合,拥有该文件的组的成员有一个集合,然后最终一个集合适用于其他所有人。在长列表(ls -l)中这些权限使用符号...

老孟的Linux私房菜
今天
7
0
面试套路题目

作者:抱紧超越小姐姐 链接:https://www.nowcoder.com/discuss/309292?type=3 来源:牛客网 面试时候的潜台词 抱紧超越小姐姐 编辑于 2019-10-15 16:14:56APP内打开赞 3 | 收藏 4 | 回复24 ...

MtrS
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部