HDFS API操作的访问方式及JUnit测试类的使用

2023-11-17

HDFS API操作的访问方式 :主要分为使用文件系统访问方式和URL访问方式

package com.wyg.hdfs;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URI;
import java.net.URISyntaxException;

import org.apache.commons.io.IOUtils;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.FsUrlStreamHandlerFactory;
import org.junit.Test;

public class HDFSAPIdemo {
	// 文件系统访问  方式一
@Test
public  void getFileSystem1() throws IOException {
	//1.实例化对象
	Configuration conf=new Configuration();
	//2、设置文件系统类型
	conf.set( "fs.defaultFS", "hdfs://192.168.2.101:9000");
	//3、获取指定的文件系统
	FileSystem fileSystem=FileSystem.get(conf);
	//4、输出
	System.out.println(fileSystem);
}
	
	//方式二
	@Test
	public void getFileSystem2() throws IOException {
		FileSystem fileSystem=FileSystem.get(new Configuration());
		System.out.println(fileSystem);
	}
	
	//方式三
	@Test
	public void getFileSystem3() throws IOException {
		//实例化文件对象
		Configuration conf=new Configuration();
		//指定文件系统类型
		FileSystem fileSystem=FileSystem.newInstance(conf);
		
		System.out.println(fileSystem);
	}	
	//方式四
	@Test
	public void getFileSystem4() throws IOException, URISyntaxException {
		FileSystem fileSystem=FileSystem.newInstance(new URI("hdfs://192.168.2.101:9000"), new Configuration());
		System.out.println(fileSystem);
	}
	
	
    //url访问   方式三
	@Test
	public void urlHdfs() throws IOException {
		// 注册url
		URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory());
		// 获取hdfs文件的输入流
		InputStream inputStream = new URL("hdfs://192.168.2.101:9000/xiaohua.txt").openStream();
		// 获取本地文件的输出流
		FileOutputStream outputStream = new FileOutputStream(new File("E:\\banzhang.txt"));
		// 实现文件的拷贝
		IOUtils.copy(inputStream, outputStream);
		// 关闭流
		IOUtils.closeQuietly(inputStream);
		IOUtils.closeQuietly(outputStream);
	}
}

在编写代码的过程中需要注意的是导包不能导错

JUnit测试类的使用,也可以叫单元测试

第一步:右键maven工程
在这里插入图片描述
第二步:
在这里插入图片描述在这里插入图片描述

在这里插入图片描述

可以单独运行某个单元,也可以运行所有单元,如果想运行单个单元就右击那个单元运行
在这里插入图片描述
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HDFS API操作的访问方式及JUnit测试类的使用 的相关文章

随机推荐

  • 计算机网络(五)传输层详解

    目录 第五章 传输层 5 1 传输层概述 进程之间的通信 网络层与传输层的区别 传输层的两个主要协议 传输层的端口 TCP IP传输层端口 5 2 UDP UDP需要实现的功能 UDP提供的服务 UDP适合哪些应用 UDP协议的特点 UDP
  • 华为OD机试真题(Java),吃到最多的刚好合适的菜(100%通过+复盘思路)

    一 题目描述 入职后 导师会请你吃饭 你选择了火锅 火锅里会在不同时间下很多菜 不同食材要煮不同的时间 才能变得刚好合适 你希望吃到最多的刚好合适的菜 但你的手速不够快 用m代表手速 每次下手捞菜后至少要过m庙才能在捞 每次只能捞一个 那么
  • umijs + dva + request + js-cookie实现登录

    umijs dva umi request js cookie实现登录 一 在src下创建models文件夹 创建user ts 二 在pages下创建login文件下 组件使用函数创建 三 创建cookie管理文件 和request ts
  • 阿里云dataworks就是个半成品!

    用hadoop EMR 不要用dataworks 不要用dataworks 不要用dataworks 重要的事情说三遍 各种莫名其妙的坑 ip黑盒 工程师无法干涉 傻瓜式无限的提交 发布 点来点去浪费时间 各种bug fuxi错误 完全没有
  • (2023,网络修剪)探索 few-shot 图像生成中的不相容知识迁移

    Exploring Incompatible Knowledge Transfer in Few shot Image Generation 公众号 EDPJ 目录 0 摘要 1 简介 2 相关工作 3 基础 4 FSIG 中不兼容的知识转
  • Mac之zip unzip 命令(压缩)

    https blog csdn net yxys01 article details 73848720 最通俗的用法 zip q r e m o myfile zip someThing 1 q 表示不显示压缩进度状态 r 表示子目录子文件
  • 记录自己开发入职第一天需要干的事情

    拉取代码前的准备工作 安装JDK 数据库本地可视化客户端 如Navicat SQLyog DBeaver Workbench Windows连接linux终端工具 Xshell SecureCRT Putty 下载IDEA 配置IDEA开发
  • adb shell 获取手机分辨率

    使用adb修改屏幕像素密度 此命令针对全志开发板子 adb shell am display density 120 以下命令针对高通的开发板子 获取Android设备屏幕分辨率 adb shell wm size获取android设备屏幕
  • Tomcat简介及优化思路

    Tomcat 处理请求大致流程和架构 请求流程 1 HTTP服务器会把请求信息使 ServletRequest对象封装起来 2 进 步去调 Servlet容器中某个具体的Servlet 3 在 2中 Servlet容器拿到请求后 根据URL
  • 超分辨率重建测试(DASR)

    测试链接 GitHub LongguangWang DASR CVPR 2021 Unsupervised Degradation Representation Learning for Blind Super Resolutionhttp
  • vue3项目实战---知乎日报----项目搭建

    目录 基础框架和响应式布局 项目介绍 接口文档 vue config pagejson 初始化公共样式 vuex模块 路由模块 utils公共类库 axios 二次封装 响应式处理 vant ui组件库 基础框架和响应式布局 项目介绍 知乎
  • 基于VMWare 16虚拟机 CentOS7linux系统SFTP服务器的搭建与数据上载传输

    文章目录 写在前面 1 SFTP协议 2 SFTP服务器搭建 2 1 windows中SFTP服务器搭建 2 2 linux系统的SFTP服务器搭建 2 2 1 通过su命令 进入管理员权限 2 2 2 创建sftp组 2 2 3 创建一个
  • Vulnhub-DC-1实战靶场

    目录 前言 一 环境搭建 1 准备工具 2 靶场准备 二 渗透过程 1 信息收集 探测目标IP地址 探测目标IP开放端口 网页信息收集 2 漏洞查找与利用 2 1弱口令 2 2Drupalgeddon2 3 Getshell 3 1交互式s
  • Android mtk 添加app编译进系统

    1 根目录下device 搜索devices mk find iname device mk 找出device mediatek common device mk文件添加 endif Add for mediaextractor proce
  • Maven 生成source 文件 Jar

    TOC Maven 生成source 文件 Jar Maven 生成source 文件 Jar Add maven source plugin in your pom xml file
  • win11 vmware 显示 “未能启动虚拟机“ 解决办法

    编辑虚拟机文件 xxx vmx 修改其中的一行内容 virtualHW version 18
  • jQuery操作css方法

    目录 一 jQuery可以使用css方法来修改元素样式 二 设置类的样式方法 1 添加类 2 移除类 3 切换类 三 类操作与className区别 四 显示隐藏效果 1 显示语法 2 隐藏语法 3 切换语法 五 滑动效果 1 上滑效果语法
  • sql注入之报错注入

    报错注入 报错注入在没法用union联合查询时用 但前提还是不能过滤一些关键的函数 报错注入就是利用了数据库的某些机制 人为地制造错误条件 使得查询结果能够出现在错误信息中 这里主要记录一下xpath语法错误和concat rand gro
  • 某**集团夺旗赛的一道隐写题

    解压压缩包 解压出来一个文件file 使用file命令进行查看 发现是data 010查看也无果 看到标题是logistic联想到是否与xor文件有关 遂使用工具xortool 工具在此 xortool file 选概率最大的那个 13 x
  • HDFS API操作的访问方式及JUnit测试类的使用

    HDFS API操作的访问方式 主要分为使用文件系统访问方式和URL访问方式 package com wyg hdfs import java io File import java io FileOutputStream import j