创建java 项目


package com.yw.hadoop273;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.*;
import org.apache.hadoop.io.IOUtils;
import org.junit.Test; import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection; /**
* 完成hdfs操作
* @Auther: YW
* @Date: 2019/9/11 21:51
* @Description:
*/
public class TestHdfs {
/**
* 读取hdfs文件
*/
@Test
public void readFile() throws Exception{
//注册url流处理器工厂(hdfs)
URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory()); URL url = new URL("hdfs://http://192.168.248.129:8020/usr/local/hadoop/core-site.xml");
URLConnection conn = url.openConnection();
InputStream is = conn.getInputStream();
byte[] buf = new byte[is.available()];
is.read(buf);
is.close();
String str = new String(buf);
System.out.println(str);
} /**
* 通过hadoop API访问文件
*/
@Test
public void readFileByAPI() throws Exception{
Configuration conf = new Configuration();
conf.set("fs.defaultFS", "hdfs://192.168.248.129:8020/");
FileSystem fs = FileSystem.get(conf) ;
Path p = new Path("/usr/local/hadoop/core-site.xml");
FSDataInputStream fis = fs.open(p);
byte[] buf = new byte[1024];
int len = -1 ; ByteArrayOutputStream baos = new ByteArrayOutputStream();
while((len = fis.read(buf)) != -1){
baos.write(buf, 0, len);
}
fis.close();
baos.close();
System.out.println(new String(baos.toByteArray()));
}
/**
* 通过hadoop API访问文件
*/
@Test
public void readFileByAPI2() throws Exception{
Configuration conf = new Configuration();
conf.set("fs.defaultFS", "hdfs://192.168.248.129:8020/");
FileSystem fs = FileSystem.get(conf) ;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
Path p = new Path("/usr/local/hadoop/core-site.xml");
FSDataInputStream fis = fs.open(p);
IOUtils.copyBytes(fis, baos, 1024);
System.out.println(new String(baos.toByteArray()));
} /**
* mkdir 创建目录
*/
@Test
public void mkdir() throws Exception{
Configuration conf = new Configuration();
conf.set("fs.defaultFS", "hdfs://192.168.248.129:8020/");
FileSystem fs = FileSystem.get(conf) ;
fs.mkdirs(new Path("/usr/local/hadoop/myhadoop"));
} /**
* putFile 写文件
*/
@Test
public void putFile() throws Exception{
Configuration conf = new Configuration();
conf.set("fs.defaultFS", "hdfs://192.168.248.129:8020/");
FileSystem fs = FileSystem.get(conf) ;
FSDataOutputStream out = fs.create(new Path("/usr/local/hadoop/myhadoop/a.txt"));
out.write("helloworld".getBytes());
out.close();
} /**
* removeFile 删除目录 (注意权限)
*/
@Test
public void removeFile() throws Exception{
Configuration conf = new Configuration();
conf.set("fs.defaultFS", "hdfs://192.168.248.129:8020/");
FileSystem fs = FileSystem.get(conf) ;
Path p = new Path("/usr/local/hadoop/myhadoop");
fs.delete(p, true);
}
}
注意权限的修改

  hdfs dfs -chmod 777 /usr/local/hadoop/


读到的内容


创建目录文件

完成。。


最新文章

  1. DIB位图(Bitmap)的读取和保存
  2. HttpUrlConnection
  3. .NET项目开发—浅谈面向对象的纵横向关系、多态入口,单元测试(项目小结)
  4. jquery 获取父窗口的元素 父窗口 子窗口
  5. PRML读书笔记——Introduction
  6. OpenGL程序运行提示glut32.dll丢失问题
  7. 【Java】【编译】javac编译源代码时,若源文件使用了别的java源代码的函数,javac会自动关联。
  8. 推荐font-size的单位 % em单位
  9. Magento给产品添加“new”或者折扣数量标签 magento new label. discount label
  10. Linux lamp环境编译安装
  11. 使用oracle的exp命令时,提示出--hash: exp: command not found
  12. 【Android】数据共享 sharedPreferences 相关注意事项
  13. android cordova h5总结
  14. 构建自己的PHP框架--构建模版引擎(3)
  15. 获取当前泛型类的传入,BaseDaoImpl<T> implements BaseDao<T>
  16. MYSQL 时间类型
  17. 深入浅出的webpack构建工具---ParallelUglifyPlugin优化压缩(十)
  18. SpringBoot日记——删除表单-Delete篇
  19. HGOI20190126 模拟赛
  20. Oracle 12C -- Plug in a Non-CDB as a PDB

热门文章

  1. Scikit-Learn 机器学习笔记 -- 线性回归、逻辑回归、softma
  2. MYSQL | ERROR 1305(42000) SAVEPOINT *** DOES NOT EXIST
  3. Cesium原理篇:6 Renderer模块(1: Buffer)【转】
  4. Android分区解释
  5. F12找到页面某一元素所绑定的点击事件
  6. Mac OS docker挂载文件夹
  7. shell编程系列4--有类型变量:字符串、只读类型、整数、数组
  8. asp设置cookies过期时间
  9. osgearth 编译日志
  10. 使用SampleRateConverter对音频采样率进行转换