HDFS JAVA API的应用

news2024/11/25 11:00:44

首先把hadoop服务起来

1. (简答题)

使用HDFS 的JAVA API 进行编程:

(1)获取自己HDFS集群下的所有文件和目录;

//获取自己HDFS集群下的所有文件和目录;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.junit.Test;

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


public class hdfs_zn1 {
    @Test
    public void testListFile()throws URISyntaxException, IOException, InterruptedException{
        //获取文件对象
        Configuration configuration=new Configuration();
        FileSystem fs=FileSystem.get(new URI("hdfs://hadoop101:8020"),configuration,"zhangna");

        FileStatus[] fileStatuses=fs.listStatus(new Path("/"));
        System.out.println("Files and directories under " + new Path("/") + ":");
        for(FileStatus status:fileStatuses){
            System.out.println(status.getPath());
        }
    }

}

(2)在根目录下创建以自己名字拼音缩写命名的目录,并任意上传一个文件至该目录;

我在D盘下写了一个文件名字叫hdfstest.txt  我要将它上传到创建的目录中

//(2)在根目录下创建以自己名字拼音缩写命名的目录,并任意上传一个文件至该目录;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.junit.Test;

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

public class hdfs_zn2{
    @Test
    public void testMkdirs() throws URISyntaxException, IOException,InterruptedException
    {
        Configuration configuration=new Configuration();
        FileSystem fs=FileSystem.get(new URI("hdfs://hadoop101:8020"),configuration,"zhangna");
        fs.mkdirs(new Path("/zn1"));
        fs.copyFromLocalFile(new Path("D:/hdfstest.txt"),new Path("/zn1"));
        fs.close();

    }
}

现在变成

可以看到我上传的文件

查看文件内容和我本地文件内容一样的

(3)下载(2)中上传的文件。

(3)下载(2)中上传的文件。
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.junit.Test;

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

public class hdfs_zn3{
    @Test
    public void testMkdirs() throws URISyntaxException, IOException,InterruptedException
    {
        Configuration configuration=new Configuration();
        FileSystem fs=FileSystem.get(new URI("hdfs://hadoop101:8020"),configuration,"zhangna");
        fs.copyToLocalFile(false,new Path("/zn1/hdfstest.txt"),new Path("D:/znhdfstest.txt"));
        fs.close();
    }
}

我下载了(2)中上传的文件,出现了一点小问题是,我想放到C盘根目录下,会因为权限问题而拒绝访问

要求:分别上传3道小题的源代码和结果截图(浏览器或控制台)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1255521.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LeetCode Hot100 437.路径总和III

题目: 给定一个二叉树的根节点 root ,和一个整数 targetSum ,求该二叉树里节点值之和等于 targetSum 的 路径 的数目。 路径 不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从…

pandas 如何获取dataframe的行的数量

pandas的dataframe提供了多种方法获取其中数据的行的数量,本偏文章就是介绍几种获取dataframe行和列出量的方法。 为了能够详细说明如何通过代码获取dataframe的行数和列数,需要先创建一个dataframe如下: import pandas as pdtechnologies …

微机11111

一、填空题(共15分,每空1分) 1、十六进制数30A.5转换为二进制是__________,转换为十进制是_________ 001100001010.0101B 778.3125 十六进制转换二进制 将一位十六进制分解成四位二进制 十六进制转换十进制 3X1620X16110X1605X1…

重生之我是一名程序员 42——字符分类函数

哈喽啊大家晚上好!今天呢给大家带来一些超简单的知识,大家是需要浅浅理解就行了。所以今天给大家带来的知识是——字符分类函数。 首先呢还是给大家介绍一下它们,字符分类函数是一种函数,它根据一定的规则将字符分组或分类。在编…

大模型三阶段训练

为了训练专有领域模型,选择LLaMA2-7B作为基座模型,由于LLaMA模型中文词表有限,因此首先进行中文词表的扩展,然后进行三阶段训练(增量预训练,有监督微调,强化学习)。 代码将全部上传…

IDEA2023版本创建Sping项目只能勾选17和21,却无法使用Java8?(已解决)

文章目录 前言分析解决方案一:替换创建项目的源方案二:升级JDK版本 参考文献 前言 起因 想创建一个springboot的项目,本地安装的是1.8,但是在使用Spring Initializr创建项目时,发现版本只有17和21。 在JDK为1.8的情况下…

LeetCode Hot100 236.二叉树的最近公共祖先

题目: 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节…

从微软Cosmos DB浅谈一致性模型

最近回顾了微软的Cosmos DB的提供一致性级别,重新整理下一致性模型的相关内容。 0. Cosmos DB Cosmos DB(Azure Cosmos DB)是由微软推出的一个支持多模型、多 API 的全球分布式数据库服务。它旨在提供高度可扩展性、低延迟、强一致性和全球…

大数据平台/大数据技术与原理-实验报告--部署全分布模式Hadoop集群

实验名称 部署全分布模式Hadoop集群 实验性质 (必修、选修) 必修 实验类型(验证、设计、创新、综合) 综合 实验课时 2 实验日期 2023.10.16-2023.10.20 实验仪器设备以及实验软硬件要求 专业实验室(配有cen…

Prove that exponential function f(x)=e^x is not Lipschitz on R

https://math.stackexchange.com/questions/3980014/prove-that-ex-is-not-lipschitz-on-r https://math.ucr.edu/~res/math205A-2014/lipschitz2.pdf

AI算法中的模型量化岗是做什么的

今天介绍一个在 AI 算法领域比较常见而且很重要的岗位——模型量化岗。 按惯例,先从某聘上截图一个量化工程师的招聘信息。 只看与量化相关的词,基本涉及到了量化精度、模型结构、算法这些关键词,下面来介绍一下这个岗位。 1、先看下什么是模…

LeetCode:1457. 二叉树中的伪回文路径(DFS C++ Java)

目录 1457. 二叉树中的伪回文路径 题目描述: 原理思路: 1457. 二叉树中的伪回文路径 题目描述: 给你一棵二叉树,每个节点的值为 1 到 9 。我们称二叉树中的一条路径是 「伪回文」的,当它满足:路径经过的…

职场快速赢得信任

俗话说的好,有人的地方就有江湖。 国内不管是外企、私企、国企,职场环境都是变换莫测。 这里主要分享下怎么在职场中快速赢取信任。 1、找到让自己全面发展的方法 要知道,职场中话题是与他人交流的纽带,为了找到共同的话题&am…

SpringBoot校验List失效解决方法

文章目录 SpringBoot校验List失效解决方法附:校验基本数据类型和String类型的方法参数时也需要在类上加Validated SpringBoot校验List失效解决方法 失效场景示例代码: RestController RequestMapping("/v1/jx/flowSummary") Slf4j public cl…

Go 语言中 sync 包的近距离观察

让我们来看看负责提供同步原语的 Go 包:sync。 sync.Mutex sync.Mutex 可能是 sync 包中被广泛使用的原语。它允许对共享资源进行互斥操作(即不允许同时访问): mutex : &sync.Mutex{}mutex.Lock() // Update shared variab…

深入了解Java8新特性-日期时间API:LocalTime类

阅读建议 嗨,伙计!刷到这篇文章咱们就是有缘人,在阅读这篇文章前我有一些建议: 本篇文章大概12000多字,预计阅读时间长需要10分钟。本篇文章的实战性、理论性较强,是一篇质量分数较高的技术干货文章&…

人力资源管理后台 === 员工新增修改

目录 1.员工管理-导出excel 2.员工管理-excel组件封装 3.员工管理-下载导入模板 4.员工管理-员工导入-上传excel 5.员工管理-删除员工 6.员工详情和路由 7.员工详情-表单数据校验 8.员工详情-封装部门级联组件 9.员工详情-级联组件-双向绑定 10.员工详情-新增员工 11…

深度学习中的注意力机制:原理、应用与实践

深度学习中的注意力机制:原理、应用与实践 摘要: 本文将深入探讨深度学习中的注意力机制,包括其原理、应用领域和实践方法。我们将通过详细的解析和代码示例,帮助读者更好地理解和应用注意力机制,从而提升深度学习模…

Servlet知识汇总

小王学习录 Ⅰ. servlet程序导入依赖创建目录编写代码打包程序部署程序验证简化打包和部署Ⅱ. Servlet Api1. HttpServlet2. HttpServletRequest3. HttpServletResponseⅢ. Cookie 和session1. Cookie2. Session(会话)3. session 和 cookie的区别4. session 和 cookie的联系5. …