package mytest; import java.io.IOException; import java.net.URI; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.io.IOUtils; import org.apache.hadoop.io.MapFile; import org.apache.hadoop.io.Text; public class MyMapFileTest { private static void write() throws IOException { Configuration conf = new Configuration(); URI uri = URI.create("file:///home/yunpeng/mapFile.map"); FileSystem fs = FileSystem.get(uri, conf); MapFile.Writer writer = null; writer = new MapFile.Writer(conf, fs, uri.getPath(), Text.class, Text.class); //通过writer向文档中写入记录 writer.append(new Text("key"), new Text("value")); IOUtils.closeStream(writer);//关闭write流 } private static void read() throws IOException { Configuration conf = new Configuration(); URI uri = URI.create("file:///home/yunpeng/mapFile.map"); FileSystem fs = FileSystem.get(uri, conf); MapFile.Reader reader = null; reader = new MapFile.Reader(fs, uri.getPath(), conf); //通过writer向文档中写入记录 Text key = new Text(); Text value = new Text(); while (reader.next(key, value)) { System.out.println(key); System.out.println(value); } IOUtils.closeStream(reader);//关闭write流 } public static void main(String[] args) throws IOException { read(); } }
写对象:
Configuration conf = new Configuration(); URI uri = URI.create("file:///home/yunpeng/mapFile.map"); FileSystem fs = FileSystem.get(uri, conf); MapFile.Writer writer = new MapFile.Writer(conf, fs, uri.getPath(), Text.class, BytesWritable.class); //write dataRepository ByteArrayOutputStream output = new ByteArrayOutputStream(); ObjectOutputStream objOutput = new ObjectOutputStream(output); objOutput.writeObject(dataRepository); byte[] data = output.toByteArray(); ///通过writer向文档中写入记录 writer.append(new Text("data"), new BytesWritable(data)); //关闭write流 IOUtils.closeStream(writer);
相关推荐
PySpark的HDFS和MySQL读写
hdfs读、写、文件列表获取、判断文件是否存在等api使用实例
实验报告“云计算技术实验报告四HDFS文件的读写”主要涵盖了如何在Hadoop的分布式文件系统(HDFS)上进行文件操作,包括文件的上传和下载,以及文件的合并。该实验是针对计算机科学专业的《云计算技术》课程设计,...
### HDFS 文件读写原理详解 #### 一、HDFS 写入原理 HDFS (Hadoop Distributed File System) 是一种分布式文件系统,主要用于存储大量数据。为了保证数据的可靠性和高可用性,HDFS 采用了多副本机制,通常每个文件...
java 读写 hdfs文件系统例子(包括权限设置);java 读写 hdfs文件系统例子(包括权限设置)java 读写 hdfs文件系统例子(包括权限设置)
HDFS(Hadoop Distributed File System)是Hadoop项目的核心子项目之一,旨在提供高吞吐量的数据访问,适用于大规模数据集上的应用。HDFS采用了Master/Slave的架构模型,其中包含两大核心组件:NameNode和DataNode。...
HDFS读写数据流程描述,脑图展示,易于理解与记忆,仅供学习使用。HDFS分布式文件系统是一个主从架构,主节点是NameNode,负责管理整个集群以及维护集群的元数据信息;从节点是DataNode,主要负责文件数据存储。
本文件" Hadoop技术HDFS数据读写流程共7页.pdf "显然提供了关于HDFS数据读写过程的详细信息,虽然实际的文档内容无法在此直接展示,但根据标题和描述,我们可以深入探讨HDFS的数据读写流程,以及它在Hadoop生态系统...
HDFS 文件系统基本文件命令、编程读写 HDFS HDFS(Hadoop Distributed File System)是一种分布式文件系统,用于存储和管理大规模数据。它是 Hadoop 云计算平台的核心组件之一,提供了高效、可靠、可扩展的数据存储...
在分布式文件系统HDFS(Hadoop Distributed File System)中,数据的读写流程是其核心功能之一,确保了数据的安全性和高效性。本篇文章主要探讨HDFS的数据读写流程,特别是写数据的过程。 首先,我们关注HDFS的写...
HDFS的读写数据流程详解 HDFS(Hadoop Distributed File System)是一种分布式文件系统,设计用于存储和处理大规模数据。它的读写数据流程是HDFS的核心组件,本文将对HDFS的读写数据流程进行详细的解释。 读写数据...
为了高效地与HDFS交互,Java API 提供了一套丰富的工具和类库,使得开发者能够方便地进行文件的读写、上传、下载、遍历、查找、拷贝以及管理HDFS上的文件和目录。以下将详细讲解如何使用Java API 操作HDFS。 ### 一...
### Hadoop学习总结之二:深入理解HDFS读写过程 #### 一、HDFS文件读取流程详解 Hadoop的分布式文件系统(HDFS)是大数据存储与处理的重要基石,其读写机制的设计旨在优化大规模数据集的访问效率与容错性。本文将...
### HDFS架构设计和读写流程详解 #### HDFS概览 HDFS(Hadoop Distributed File System),即Hadoop分布式文件系统,旨在解决大规模数据集的存储问题,它通过将数据分散存储在由多台低成本商用服务器组成的集群上,...
HDFS是Apache Hadoop项目的核心组件之一,是一个分布式文件系统,设计用于跨大量廉价硬件节点存储和处理大规模数据。 描述中的“HDFS 读写性能测试”意味着测试的重点在于衡量在CDH4.3.0环境下,HDFS在读取和写入...
本文将详细解析HDFS的读取和写入过程,基于标题"《Hadoop学习总结之二:HDFS读写过程解析》"和描述中提到的代码分析。 1. **文件的打开** 当客户端想要打开一个HDFS文件时,它会调用`DistributedFileSystem.open`...
【HDFS的读写流程】 1. 写入流程:客户端首先与NameNode通信,获取目标文件的Block信息。然后,NameNode指示客户端将Block写入DataNode,通常是按照副本策略选择DataNode。写入完成后,客户端通知NameNode,...