1、原理、步骤

2、HDFS客户端示例代码

package com.ares.hadoop.hdfs;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URISyntaxException; import org.apache.commons.io.IOUtils;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FSDataOutputStream;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.LocatedFileStatus;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.fs.RemoteIterator;
import org.apache.log4j.Logger;
import org.junit.After;
import org.junit.Before;
import org.junit.Test; public class HDFSTest {
private static final Logger LOGGER = Logger.getLogger(HDFSTest.class); private FileSystem fs = null; @Before
public void setUp() throws IOException, URISyntaxException, InterruptedException {
Configuration conf = new Configuration();
// conf.set("fs.defaultFS", "hdfs://HADOOP-NODE1:9000");
// URI uri = new URI("hdfs://HADOOP-NODE1:9000");
// this.fs = FileSystem.get(uri, conf, "HADOOP");
this.fs = FileSystem.get(conf);
}
@After
public void tearDown() throws IOException {
// TODO Auto-generated method stub
this.fs.close();
} @Test
public void testGET() throws IOException {
// TODO Auto-generated method stub
LOGGER.debug("HDFSTest: GET FILE TEST");
Path path = new Path("hdfs://HADOOP-NODE1:9000/jdk-7u60-linux-x64.tar.gz");
FSDataInputStream fsDataInputStream = this.fs.open(path);
FileOutputStream fileOutputStream = new FileOutputStream("./testdata/get-test-jdk.tar.gz");
IOUtils.copy(fsDataInputStream, fileOutputStream);
} @Test
public void testPUT() throws IOException {
// TODO Auto-generated method stub
LOGGER.debug("HDFSTest: PUT FILE TEST");
Path path = new Path("hdfs://HADOOP-NODE1:9000/put-test-jdk.tar.gz");
FSDataOutputStream fsDataOutputStream = this.fs.create(path);
FileInputStream fileInputStream = new FileInputStream("./testdata/test-jdk.tar.gz");
IOUtils.copy(fileInputStream, fsDataOutputStream);
} @Test
public void testGET_NEW() throws IOException {
// TODO Auto-generated method stub
LOGGER.debug("HDFSTest: GET_NEW FILE TEST");
Path src = new Path("hdfs://HADOOP-NODE1:9000/jdk-7u60-linux-x64.tar.gz");
Path dst = new Path("./testdata/get-test-new-jdk.tar.gz");
this.fs.copyToLocalFile(src, dst);
} @Test
public void testPUT_NEW() throws IOException {
// TODO Auto-generated method stub
LOGGER.debug("HDFSTest: PUT_NEW FILE TEST");
Path src = new Path("./testdata/test-jdk.tar.gz");
Path dst = new Path("hdfs://HADOOP-NODE1:9000/put-test-new-jdk.tar.gz");
this.fs.copyFromLocalFile(src , dst);
} @Test
public void testMKDIR() throws IOException {
// TODO Auto-generated method stub
LOGGER.debug("HDFSTest: MKDIR TEST");
Path f = new Path("/mkdir-test/testa/testb");
this.fs.mkdirs(f);
} @Test
public void testRM() throws IOException {
// TODO Auto-generated method stub
LOGGER.debug("HDFSTest: RM TEST");
Path f = new Path("/mkdir-test");
this.fs.delete(f, true);
} @Test
public void testLIST() throws IOException {
// TODO Auto-generated method stub
LOGGER.debug("HDFSTest: LIST TEST");
Path f = new Path("/");
//LIST FILES
RemoteIterator<LocatedFileStatus> files = this.fs.listFiles(f, true);
while (files.hasNext()) {
LocatedFileStatus file = files.next();
LOGGER.debug(file.getPath());
LOGGER.debug(file.getPath().getName());
} //LIST DIRS
FileStatus[] files2 = this.fs.listStatus(f);
// for (int i = 0; i < files2.length; i++) {
// LOGGER.debug(files2[i].getPath().getName());
// }
for (FileStatus fileStatus : files2) {
LOGGER.debug(fileStatus.getPath().getName());
LOGGER.debug(fileStatus.isDirectory());
}
}
}

【Hadoop】HDFS客户端开发示例的更多相关文章

  1. java 调用webservice (asmx) 客户端开发示例

    这是本人第一次写博客,其实就是自己做个笔记,写的很粗糙,也希望能给跟我遇到同样问题的你一点帮助. 因为最近有个项目要调用webservice接口,之前接触的都是Java开发服务端和客户端的接口,开发前 ...

  2. hadoop学习day2开发笔记

    1.将hdfs客户端开发所需的jar导入工程(jar包可在hadoop安装包中找到common/hdfs) 2.写代码 要对hdfs中的文件进行操作,代码中首先需要获得一个hdfs的客户端对象 Con ...

  3. Hadoop HDFS的shell(命令行客户端)操作实例

    HDFS的shell(命令行客户端)操作实例 3.2 常用命令参数介绍 -help 功能:输出这个命令参数手册 -ls                  功能:显示目录信息 示例: hadoop fs ...

  4. 使用HDFS客户端java api读取hadoop集群上的信息

    本文介绍使用hdfs java api的配置方法. 1.先解决依赖,pom <dependency> <groupId>org.apache.hadoop</groupI ...

  5. Hadoop JAVA HDFS客户端操作

    JAVA HDFS客户端操作 通过API操作HDFS org.apache.logging.log4jlog4j-core2.8.2org.apache.hadoophadoop-common${ha ...

  6. Hadoop之HDFS客户端操作

    1. HDFS 客户端环境准备 1.1 windows 平台搭建 hadoop 2.8.5 2. 创建Maven工程 # pom.xml <dependencies> <depend ...

  7. Hadoop HDFS分布式文件系统设计要点与架构

      Hadoop HDFS分布式文件系统设计要点与架构     Hadoop简介:一个分布式系统基础架构,由Apache基金会开发.用户可以在不了解分布式底层细节的情况下,开发分布式程序.充分利用集群 ...

  8. 【转】Hadoop HDFS分布式环境搭建

    原文地址  http://blog.sina.com.cn/s/blog_7060fb5a0101cson.html Hadoop HDFS分布式环境搭建 最近选择给大家介绍Hadoop HDFS系统 ...

  9. Hadoop HDFS分布式文件系统设计要点与架构(转摘)

    Hadoop简介:一个分布式系统基础架构,由Apache基金会开发.用户可以在不了解分布式底层细节的情况下,开发分布式程序.充分利用集群的威力高速运算和存储.Hadoop实现了一个分布式文件系统(Ha ...

随机推荐

  1. HDU1907(尼姆博弈)

    John Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Total Submis ...

  2. 【 sysbench 性能基准测试 】

    度娘解释:sysbench是一款开源的多线程性能测试工具,可以执行CPU/内存/线程/IO/数据库等方面的性能测试. 目前支持的数据库支持:MySQL,pgsql,oracle 这3种数据库. 安装s ...

  3. javascript三种嵌入方式

    什么是JavaScript? JavaScript是运行在浏览器端的脚步语言,JavaScript主要解决的是前端与用户交互的问题,包括使用交互与数据交互,JavaScript是浏览器解释执行的. J ...

  4. 驱动模块和装模块的概念——Junit单元测试案例

    驱动模块是用来模拟被测试模块的上一级模块,相当于被测模块的主程序.它接收数据,将相关数据传送给被测模块,启用被测模块,并打印出相应的结果. 桩模块(Stub)是指模拟被测试的模块所调用的模块,而不是软 ...

  5. k8s的deployment应用

    Kubernetes 通过各种 Controller 来管理 Pod 的生命周期.为了满足不同业务场景,Kubernetes 开发了 Deployment.ReplicaSet.DaemonSet.S ...

  6. 《锋利的JQuery》读书要点笔记4——表格表单的操作

    第五章 jQuery对表单,表格的操作以及更多应用 这章主要以一些具体案例讲解了jQuery对表单,表格的常用操作,以及一些常见的jQuery应用,用到的都是上几章说的东西.下面就以具体的案例来展开. ...

  7. hdu 1062(DFS||dijkstra)

    昂贵的聘礼 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 44870   Accepted: 13259 Descripti ...

  8. 用WP Super Cache和七牛为你的WordPress网站加速

    众所周知,WordPress一直都是博客建站的首选程序,而现在也有越来越多的企业网站都选择采用WordPress来搭建. WordPress虽好但其过于臃肿且响应速度慢等缺点也为站长们所诟病,目前网上 ...

  9. POJ 1321 棋盘问题【DFS/回溯/放与不放/类似n皇后】

    棋盘问题 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 62164 Accepted: 29754 Description 在一 ...

  10. Hash算法详解

    这篇不错: https://blog.csdn.net/u014209205/article/details/80820263