Hadoop的SequenceFile读写实例
1 SequenceFile可以处理hdfs上大量小文件,它可以作为大量小文件的容器。HDFS和MapReduce是针对大文件优化的,所以通过SequenceFile类型将小文件包装起来可以获得更高效的存储和处理。存储 2 在SequenceFile中的键和值并不一定是Writable类型,只要能被Serialization序列化和反序列化,任何类型都可以。 3 4 SequenceFile的优点是:以键值对方式存储、支持压缩、合并大量小文件。 5 6 7 Configuration conf = new Configuration(); 8 FileSystem fs = FileSystem.get(new URI("hdfs://single32:9000"), conf); 9 Path targetPath = new Path("/sfs"); 10 11 //在HDFS上创建不使用压缩的SequenceFile 12 final Option optPath = SequenceFile.Writer.file(targetPath); 13 final Option optKeyClass = SequenceFile.Writer.keyClass(Text.class); 14 final Option optValueClass = SequenceFile.Writer.valueClass(BytesWritable.class); 15 final SequenceFile.Writer writer = SequenceFile.createWriter(conf, optPath, optKeyClass, optValueClass); 16 final Collection<File> listFiles = FileUtils.listFiles(new File("/usr/local/"), new String[]{"txt"}, false); 17 Text key = null; 18 BytesWritable value = null; 19 for (File file : listFiles) { 20 key = new Text(file.getPath()); 21 value = new BytesWritable(FileUtils.readFileToByteArray(file)); 22 writer.append(key, value); 23 } 24 IOUtils.closeStream(writer); 25 26 //读取HDFS上指定目录下的SequenceFile文件 27 final SequenceFile.Reader reader = new SequenceFile.Reader(fs, targetPath, conf); 28 final Text outputKey = new Text(); 29 final BytesWritable outputValue = new BytesWritable(); 30 while(reader.next(outputKey, outputValue)){ 31 final File file = new File("/usr/"+outputKey.toString()); 32 FileUtils.writeByteArrayToFile(file, outputValue.getBytes()); 33 } 34 IOUtils.closeStream(reader); 35
转载于:https://www.cnblogs.com/mengyao/archive/2013/02/03/4456148.html
Hadoop的SequenceFile读写实例相关推荐
- hadoop 基准测试与读写测试
2019独角兽企业重金招聘Python工程师标准>>> hadoop 基准测试与读写测试 排序100G数据 /opt/cloudera/parcels/CDH/bin/yarn ja ...
- Hadoop之HDFS读写数据流程
Hadoop之HDFS读写数据流程 目录 HDFS写数据流程 HDFS读数据流程 网络拓扑概念 机架感知 1. HDFS写数据流程 HDFS写数据流程,如下图 客户端通过Distributed Fil ...
- pic单片机c语言读eeprom,PIC16F877单片机内部EEPROM读写实例
;PIC16F877单片机内部EEPROM读写实例*************************************************************************** ...
- .NET配置文件读写实例(附SosoftConfigHelper类)
配置文件在软件开发中起到举足轻重的作用,可以说不可或缺..NET程序可使用.config文件作为配置文件,例如WinForm程序的*.app.config.Web程序的web.config..conf ...
- pic单片机c语言读eeprom,PIC单片机的EEPROM读写实例及说明
PIC单片机的EEPROM读写实例及说明 来源:luchaohai 作者:华仔 浏览:1397 时间:2016-08-10 14:18 标签: 摘要: ; PIC单片机的EEPROM读写实例及说明;* ...
- VB 二进制数据读写实例
代码如下: Dim arrBinary() As Byte Open "C:\123.exe" For Binary As #1 ReDim arrBinary(LOF(1) - ...
- linux dd命令制作软盘,[Ubuntu]dd 命令,软盘读写实例:二进制文件.bin -镜像文件 .img - 软盘设备 /dev/fd0...
本文将利用linux的dd命令往软盘的0道0面1扇区(即主引导扇区)写入数据: 实现在屏幕上显示asm这个三个字符的功能: 由于Ubuntu系统以软盘(floppy disk)作为启动盘,当选择系统从 ...
- Arduino ESP32 SD卡读写实例
Arduino ESP32 SD卡读写实例 Arduino官方文档参考:https://www.arduino.cc/en/Reference/SD SD卡硬件连接方式 ESP32有两种使用SD卡的方 ...
- pic单片机c语言读eeprom,PIC单片机的EEPROM读写实例
PIC单片机的EEPROM读写实例及说明 ;**************************************************************************** ; ...
最新文章
- Python 生产者与消费者(一)
- 每日一皮:总觉得这个咖啡杯有点奇怪...
- SAP ABAP实用技巧介绍系列之 在xslt里call ABAP method
- 使用Harbor配置Kubernetes私有镜像仓库
- 12.Bridge-桥接模式
- X3950通过MGMT关机产生NMI,PCI,LOG报错
- [转]服务器监控 UptimeRobot 简明使用手册
- CSS 元素超出部分滚动, 并隐藏滚动条
- C 中细节问题的试题
- 对口本科计算机专业,对口高考计算机类专业综合试题(卷).doc
- 图文并茂!CIC滤波器的FPGA实现
- 前端学习 JavaScript基础
- springboot2 oauth2 jwt认证服务器和资源服务器
- 安装pywifi的坑
- SQL Server2005,win8、win10系统安装教程,你急需的都在这里!
- 删除shipyard
- 【树莓派】登入树莓派
- Muli3D 2 matMatrix44RotationQuaternion 函数 (四元数转矩阵)
- ExaGrid入围2021年网络计算大奖
- 【Unity】Unity在运行时崩溃了怎么办?别害怕,还有救!