传智---Haoop--(6)--hdfs文件操作

package com.hdfs;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FSDataOutputStream;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IOUtils;
import org.apache.jasper.tagplugins.jstl.core.Url;

public class APP2 {
public static final String HDFS_PATH = "hdfs://hadoop:9000";
public static final String DIR_PATH = "/d2";
public static final String DIR_PATH2 = "/d2/d22";

public static void main(String[] args) throws Exception {

final FileSystem fileSystem = FileSystem.get(new URI(HDFS_PATH),
new Configuration());

  // 创建文件夹
CreatFile(fileSystem);
    // 上传文件
uploadDate(fileSystem);

// 下载文件
downFiel(fileSystem); 
// 删除文件
 

deletedFile(fileSystem);

 
}





private static void deletedFile(final FileSystem fileSystem)
throws IOException {
//path 是目录  true   文件是   ----随便
fileSystem.delete(new Path(DIR_PATH2), true);
}

private static void downFiel(final FileSystem fileSystem)
throws IOException {

final FSDataInputStream in = fileSystem.open(new Path(DIR_PATH2));
IOUtils.copyBytes(in, System.out, 1024, true);
}

private static void CreatFile(final FileSystem fileSystem)
throws IOException {
fileSystem.mkdirs(new Path(DIR_PATH));
}

private static void uploadDate(final FileSystem fileSystem)
throws FileNotFoundException, IOException {
final FileInputStream in = new FileInputStream("F:/123.txt");

final FSDataOutputStream out = fileSystem.create(new Path(DIR_PATH2));
IOUtils.copyBytes(in, out, 1024, true);
}
}



//=================================================================

1.HDFS特点
 :高容性,可以部署在低廉的硬件上,提供高吞吐量,访问应用程序的数据,适合超大数据集应用数据
 :硬件故障,是常态,而不是异常,整个HDFS系统是由数百上千存储文件数据片段的服务器组成,实际上它里面有非常多的
  组成部分,每一组都会频繁出现故障,意味着,HDFS的一些组成部分总是失效的,因此,故障检测和自动快速恢复是HDFS一个核心
     的结构目标
:流式的数据访问,运行在HDFS上的应用程序必须流式访问他们的数据集,HDFS设计是适合批量处理,而不是用户交互式的。重点是
   数据吞吐量,而不是数据的反应时间
:大数据集,应该提供很高的聚合数据宽带,应该一个集合群支持数百个节点,还应该支持一个集群中千万的文件
:简单一致性模型,大部分的HDFS程序文件操作需要一次写入,多次读取,一个文件一旦创建,不能修改,简单化了数据
  数据一致性的问题和高吞吐量的数据访问





HDFS暴漏文件名字空间,并且允许用户数据存储成文件,内部机制是讲一个文件分割成一个或者多个的块,将这些块
存储在一组数据节点中
:名字节点和数据节点
  NameNode——是一个管理文件名字空间和调节客户端访问文件的主服务器,操作文件名字空间的文件或目录操作,如打开,关闭
                               命名等,他同时确定块和数据节点映射
  DateNode———是一个和多个用来管理存储,负责来至文件系统的客户的读写要求,同时执行块的创建,删除和来之名字节点的块负责指示













  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值