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),指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连.该系统架构 ...
随机推荐
- Java中eclipse与命令行向main函数传递参数
我们知道main函数是java程序的入口,main函数的参数类型是String[]. 1.Eclipse中向main方法传递参数 例如: public class Mytest { public st ...
- SpringBoot定制错误的Json数据
(1)自定义异常处理&返回定制Json数据 @ControllerAdvice public class MyExceptionHandler { @ResponseBody @Excepti ...
- 关于python中的类方法(classmethod)和静态方法(staticmethod)
首先明确两点: a)python在创建类的时候,self指向的是类的实例而不是类属性! b)我们所创建的类的方法有两种作用,一种是改变类的属性,一种是改变实例的属性,这点一定要分清! c)我们在调用类 ...
- Libevent源码分析系列
1.使用libevent库 源码那么多,该怎么分析从哪分析呢?一个好的方法就是先用起来,会用了,然后去看底层相应的源码,这样比较有条理,自上向下掌握.下面用libevent库写个程序,每隔1秒 ...
- 调用链系列一、Zipkin架构介绍、Springboot集承(springmvc,HttpClient)调用链跟踪、Zipkin UI详解
1.Zipkin是什么 Zipkin分布式跟踪系统:它可以帮助收集时间数据,解决在microservice架构下的延迟问题:它管理这些数据的收集和查找:Zipkin的设计是基于谷歌的Google Da ...
- apache服务器的常用功能及设置
安装httpd yum -y install httpd 服务脚本:/etc/rc.d/init.d/httpd 脚本配置文件:/etc/sysconfig/httpd ...
- svn使用小技巧
在使用svn的时候,往往导入到eclipse中,使用eclipse进行提交修改,但是当删除文件夹的时候,eclipse会发生冲突,不能够提交. 使用一种方式,将svn上的项目跟你eclipse对应项目 ...
- [How to]HBase集群备份方法--Replication机制
1.简介 HBase备份的方法在[How to]HBase集群备份方法文章中已经有些介绍,但是这些方法都不是HBase本身的特性在支持,都是通过MR计算框架结合HBase客户端的方式,或者直接拷贝HB ...
- iOS 中的Certificate,Provisioning Profile 的一些注意 (不断完善中)
注册apple id 有1年多了,这些概念还是模模糊糊的,决定在这里总结一下. 请参阅官方文档 App Distribution Guide code singing的作用如下: Code signi ...
- npm下载速度过慢的解决办法
第一种方式: 在cmd 输入指令:npm config set registry https://registry.npm.taobao.org 不建议使用cnpm! 设置完后,注意检查:输入指令:n ...