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读写实例相关推荐

  1. hadoop 基准测试与读写测试

    2019独角兽企业重金招聘Python工程师标准>>> hadoop 基准测试与读写测试 排序100G数据 /opt/cloudera/parcels/CDH/bin/yarn ja ...

  2. Hadoop之HDFS读写数据流程

    Hadoop之HDFS读写数据流程 目录 HDFS写数据流程 HDFS读数据流程 网络拓扑概念 机架感知 1. HDFS写数据流程 HDFS写数据流程,如下图 客户端通过Distributed Fil ...

  3. pic单片机c语言读eeprom,PIC16F877单片机内部EEPROM读写实例

    ;PIC16F877单片机内部EEPROM读写实例*************************************************************************** ...

  4. .NET配置文件读写实例(附SosoftConfigHelper类)

    配置文件在软件开发中起到举足轻重的作用,可以说不可或缺..NET程序可使用.config文件作为配置文件,例如WinForm程序的*.app.config.Web程序的web.config..conf ...

  5. pic单片机c语言读eeprom,PIC单片机的EEPROM读写实例及说明

    PIC单片机的EEPROM读写实例及说明 来源:luchaohai 作者:华仔 浏览:1397 时间:2016-08-10 14:18 标签: 摘要: ; PIC单片机的EEPROM读写实例及说明;* ...

  6. VB 二进制数据读写实例

    代码如下: Dim arrBinary() As Byte Open "C:\123.exe" For Binary As #1 ReDim arrBinary(LOF(1) - ...

  7. linux dd命令制作软盘,[Ubuntu]dd 命令,软盘读写实例:二进制文件.bin -镜像文件 .img - 软盘设备 /dev/fd0...

    本文将利用linux的dd命令往软盘的0道0面1扇区(即主引导扇区)写入数据: 实现在屏幕上显示asm这个三个字符的功能: 由于Ubuntu系统以软盘(floppy disk)作为启动盘,当选择系统从 ...

  8. Arduino ESP32 SD卡读写实例

    Arduino ESP32 SD卡读写实例 Arduino官方文档参考:https://www.arduino.cc/en/Reference/SD SD卡硬件连接方式 ESP32有两种使用SD卡的方 ...

  9. pic单片机c语言读eeprom,PIC单片机的EEPROM读写实例

    PIC单片机的EEPROM读写实例及说明 ;**************************************************************************** ; ...

最新文章

  1. Python 生产者与消费者(一)
  2. 每日一皮:总觉得这个咖啡杯有点奇怪...
  3. SAP ABAP实用技巧介绍系列之 在xslt里call ABAP method
  4. 使用Harbor配置Kubernetes私有镜像仓库
  5. 12.Bridge-桥接模式
  6. X3950通过MGMT关机产生NMI,PCI,LOG报错
  7. [转]服务器监控 UptimeRobot 简明使用手册
  8. CSS 元素超出部分滚动, 并隐藏滚动条
  9. C 中细节问题的试题
  10. 对口本科计算机专业,对口高考计算机类专业综合试题(卷).doc
  11. 图文并茂!CIC滤波器的FPGA实现
  12. 前端学习 JavaScript基础
  13. springboot2 oauth2 jwt认证服务器和资源服务器
  14. 安装pywifi的坑
  15. SQL Server2005,win8、win10系统安装教程,你急需的都在这里!
  16. 删除shipyard
  17. 【树莓派】登入树莓派
  18. Muli3D 2 matMatrix44RotationQuaternion 函数 (四元数转矩阵)
  19. ExaGrid入围2021年网络计算大奖
  20. 【Unity】Unity在运行时崩溃了怎么办?别害怕,还有救!

热门文章

  1. es6 --- 模块
  2. OPENCV-5 学习笔记
  3. 云计算在未来一定是不可或缺的
  4. Datalore:用于机器学习可视化的新Web方案!
  5. Oracle 变量绑定与变量窥视合集系列一
  6. 100~200之间的素数(及其四个优化方案)
  7. [转载]dynamic的小坑--RuntimeBinderException:“object”未包含“xxx”的定义
  8. 使用CRT调试内存分配堆来找出未释放的内存空间
  9. Build Provider 不得不说的事
  10. 集成显卡与独立显卡的区别