Hadoop生态系统及HDFS的上传下载

    技术2022-07-10  150

    大数据特征

    *Volume*(大数据量):90% 的数据是过去两年产生 *Velocity*(速度快):数据增长速度快,时效性高 *Variety*(多样化):数据种类和来源多样化 **结构化数据、半结构化数据、非结构化数据** *Value*(价值密度低):需挖掘获取数据价值

    固有特征

    时效性 不可变性

    Hadoop是什么?

    Hadoop是一个开源分布式系统架构 分布式文件系统HDFS——解决大数据存储 分布式计算框架MapReduce——解决大数据计算 分布式资源管理系统YARN --处理海量数据的架构首选 --非常快得完成大数据计算任务 --已发展成为一个Hadoop生态圈

    为什么使用Hadoop?

    高扩展性,可伸缩 高可靠性 多副本机制,容错高 低成本 无共享架构 灵活,可存储任意类型数据 开源,社区活跃

    Hadoop生态圈

    HDFS特点 HDFS优点 支持处理超大文件 可运行在廉价机器上 高容错性 流式文件写入 HDFS缺点 不适合低延时数据访问场景 不适合小文件存取场景 不适合并发写入,文件随机修改场景

    HDFS上传下载流程解释:

    -------创建一个文件夹

    public void testMKdir() throws URISyntaxException, IOException, InterruptedException { //1.创建配置 Configuration conf=new Configuration(); //2.获取文件系统 FileSystem fs=FileSystem.get(new URI("hdfs://192.168.137.111:9000"),conf,"root"); //3.调用API操作 fs.mkdirs(new Path("/hdfs")); //4.关闭资源 fs.close(); }

    上传:

    public void testCopyFromLocalFile() throws URISyntaxException, IOException, InterruptedException { Configuration conf=new Configuration(); FileSystem fs=FileSystem.get(new URI("hdfs://192.168.137.111:9000"),conf,"root"); fs.copyFromLocalFile(new Path("D://aaa.txt"),new Path("/hdfs/mmm.txt")); fs.close(); }

    可通过hdfs界面查看

    下载:

    public void testCopyFromLocalFile() throws URISyntaxException, IOException, InterruptedException { Configuration conf=new Configuration(); FileSystem fs=FileSystem.get(new URI("hdfs://192.168.137.111:9000"),conf,"root"); fs.copyFromLocalFile(new Path("D://aaa.txt"),new Path("/hdfs/mmm.txt")); fs.close(); }

    ---------删除

    public void testDelete() throws IOException, URISyntaxException, InterruptedException { Configuration conf=new Configuration(); FileSystem fs=FileSystem.get(new URI("hdfs://192.168.137.111:9000"),conf,"root"); fs.delete(new Path("/hdfs"),true); fs.close(); }

    HDFS架构

    Processed: 0.018, SQL: 9