012 HDFS API 文件读写代码演示
一:准备工作
1.新建class类

2.开启HDFS服务

3.将配置文件拷贝进resources路径

方便了Configuration的读取配置。
二:读出HDFS文件系统中的文件到控制台
4.读出在路径中的文件,显示在控制台上

5.分别解析,获取文件系统(两种方式)
(方式一)

(方式二)

这种方式不需要复制配置文件进resources,但是这种被写死了。
6.分别解析,写入流

7.优化readFile

三:把文件上传到HDFS上,即为WriteFile

注意点:fileName="user/beifeng/wc.input",加上wc.input
四:完整源代码
package com.senior.hdfs; import java.io.File;
import java.io.FileInputStream;
import java.io.IOException; 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; public class HDFSApp { public static FileSystem getFileSystem() throws Exception{
Configuration configuration=new Configuration();
FileSystem fileSystem=FileSystem.get(configuration);
return fileSystem;
}
//read
public static void read() throws Exception{
FileSystem fileSystem=getFileSystem();
String fileName="/user/beifeng/mapreduce/wordcount/input/wc.input";
Path path=new Path(fileName);
FSDataInputStream inStream=fileSystem.open(path);
try{
IOUtils.copyBytes(inStream, System.out, 4096, false);
}catch(Exception e){
e.printStackTrace();
} }
//write
public static void write() throws Exception{
FileSystem fileSystem=getFileSystem();
//output fileName
String outputFileName="/opt/datas/wc.input";
//input fileName
String inputFileNmae="/user/beifeng/mapreduce/wordcount/input2/wc.input";
Path path=new Path(inputFileNmae);
FSDataOutputStream outStream=fileSystem.create(path);
FileInputStream inStream=new FileInputStream(new File(outputFileName));
try{
IOUtils.copyBytes(inStream, outStream, 4096, false);
}catch(Exception e){
e.printStackTrace();
}finally{
IOUtils.closeStream(inStream);
IOUtils.closeStream(outStream);
} }
public static void main(String[] args) throws Exception {
// read();
write(); } }
012 HDFS API 文件读写代码演示的更多相关文章
- HDFS API 文件读写代码演示
一:准备工作 1.新建class类 2.开启HDFS服务 3.将配置文件拷贝进resources路径 方便了Configuration的读取配置. 二:读出HDFS文件系统中的文件到控制台 4.读出在 ...
- Hadoop_HDFS文件读写代码流程解析和副本存放机制
Hadoop学习笔记总结 01.RPC(远程过程调用) 1. RPC概念 远程过程指的不是同一个进程的调用.它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议. 不能直接拿到远 ...
- hadoop2.2原理:分析HDFS的文件读写
File Read 程序举例: public class FileRead { public static void main(Sting[] args) throws Exception { Con ...
- 【Hadoop】二、HDFS文件读写流程
(二)HDFS数据流 作为一个文件系统,文件的读和写是最基本的需求,这一部分我们来了解客户端是如何与HDFS进行交互的,也就是客户端与HDFS,以及构成HDFS的两类节点(namenode和dat ...
- 【HDFS API编程】从本地拷贝文件,从本地拷贝大文件,拷贝HDFS文件到本地
接着之前继续API操作的学习 CopyFromLocalFile: 顾名思义,从本地文件拷贝 /** * 使用Java API操作HDFS文件系统 * 关键点: * 1)create Configur ...
- 【HDFS API编程】查看HDFS文件内容、创建文件并写入内容、更改文件名
首先,重点重复重复再重复: /** * 使用Java API操作HDFS文件系统 * 关键点: * 1)创建 Configuration * 2)获取 FileSystem * 3)...剩下的就是 ...
- 【HDFS API编程】jUnit封装-改写创建文件夹
首先:什么是jUnit 回顾: https://www.cnblogs.com/Liuyt-61/p/10374732.html 上一节我们知道: /** * 使用Java API操作HDFS文件系 ...
- 【HDFS API编程】第一个应用程序的开发-创建文件夹
/** * 使用Java API操作HDFS文件系统 * 关键点: * 1)创建 Configuration * 2)获取 FileSystem * 3)...剩下的就是 HDFS API的操作了*/ ...
- 大数据【二】HDFS部署及文件读写(包含eclipse hadoop配置)
一 原理阐述 1' DFS 分布式文件系统(即DFS,Distributed File System),指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连.该系统架构 ...
随机推荐
- IT阅读——关于“业务”
本文转自http://www.cnblogs.com/beijiguangyong/archive/2012/11/12/2767054.html 开发当中常常听说“业务”这个词,什么“业务为王”之类 ...
- log4j2 的使用
log4j2 是 log4j 的升级,更为方便,更为强大. log4j2.xml 的配置以及 log4j2的依赖包使用log4j2 并没有其他的依赖包,只是在使用log4j的情况下,需要别的进行桥接 ...
- Linux - iptable 限制 IP 访问端口
iptable 设置iptables 限制特定IP 访问: -A INPUT -s 172.16.2.20 -p tcp -j ACCEPT-A INPUT -s -p tcp -j ACCEPT 设 ...
- 把ui界面加入到工程中
第一步 from untitled import Ui_Form untitled是ui转化成py的文件名:Ui_Form是转换后的类名 第二步 把Ui_Form做为工程的父类 class ...
- Java SE之正则表达式Demo
@Test public void regex() {//匹配教务系统课程 // String content = "公共机座 (1-10)".replaceAll(" ...
- python - 装饰器+描述符(给类添加属性且属性类型审核)
装饰器+描述符 实现给一个类添加属性且对添加的时,对属性进行类型审核: def zsq(**kwargs): def fun(obj): for i,j in kwargs.items(): seta ...
- bootstrap-table前端修改数据
使用bootstrap-table显示数据,后台传回数据以后,可能需要对其做调整,如需要前端为数据添加单位 调整数据代码 $("#"+tableId).bootstrapTable ...
- Jetson tk1 刷机教程
前期准备: 1. Jetson TK1开发板. 2. 安装有ubuntu系统的PC(或者ubuntu虚拟机)切记:不管是PC还是虚拟机,务必确保有大于5G的存储空间,之后安装过程会作详细解释. 3 ...
- TrimLeft TrimRight
strming.TrimLeft(); //将字符串最前面的空格修整掉.当在没有参数的情况下调用时,TrimLeft删除换行符,空格和tab字符. strming.TrimRight()://消除从 ...
- 【黑客免杀攻防】读书笔记7 - 软件逆向工程基础1(函数调用约定、Main函数查找)
0x1 准备工作 1.1.准备工具 IDA:交互式反汇编工具 OllyDbg:用户层调试工具 Visual Studio:微软开发工具 1.2.基础知识 C++开发 汇编语言 0x2 查找真正的mai ...