HDFS中的sequence file

sequence file序列化文件

介绍

  • sequence file是hadoop提供的一种二进制文件存储格式
  • 一条数据称之为record(记录),底层直接以<key, value>键值对形式序列化到文件中

优缺点

  • 优点
    • 二进制格式存储,比文本文件更紧凑
    • 支持不同级别压缩(基于record或block压缩)
    • 文件可以拆分和并行处理,适用于MapReduce程序
  • 局限性
    • 二进制文件不方便查看
    • 特定于hadoop,只有java api可用于阈值进行交互。尚未提供多语言支持

格式

  • 根据压缩类型,有3汇总不用sequence file格式:未压缩格式,record压缩格式,block压缩格式
  • sequence file由一个header和多个record组成。以上三种格式均由使用相同的header结构,如下所示:前3个字节为SQE,表示该文件是序列文件,后跟一个字节表示实际版本号(例如SEQ4或SEQ6).HEADER中其他也包括key,valueclass名字,压缩细节,metadata, Sync marker。sync marker同步标记,用于可以读取任意位置的数据

未压缩格式

  • 未压缩的sequence file文件由header,record,sync三个部分组成。其中record包含了4个部分:record length(记录长度),key length(键长),key,value
  • 每隔几个record(100个字节左右)就有一个同步标记

基于record压缩格式

基于record压缩的sequence file文件由header,record,sync三个部分组成。其中record包含了4个部分:record length(记录长度),key length(键长),key,compressed value(被压缩的值)

基于block压缩格式

  • 基于block压缩的sequence file文件由header,block,sync三个部分组成
  • block值得是record block,可以理解为多个record记录组成的块。注意这个block和hdfs中分块存储的block(128M)是不同的概念。block中包括:record条数,压缩的key长度,压缩的keys,压缩的value长度,压缩的values。每隔一个block就有一个同步标记
  • block压缩比record压缩提供更好的压缩率。使用sequence file时,通常首选块压缩
相关推荐
markvivv18 分钟前
【译】适合在RTX 5090、DGX Spark或类似机器上可运行的最佳新模型是什么?
大数据·人工智能·spark
阿童木写作25 分钟前
2026年8月跨境电商批量翻译工具推荐实战指南
大数据·跨境电商批量跨境翻译工具推荐
找方案35 分钟前
Seedance 2.5突破30秒视频生成,AI视频赛道进入工业化时代
大数据·人工智能·字节跳动·可灵·ai视频生成·seedance2.5·工业化时代
数据智研1 小时前
【数据分享】中国农产品价格调查年鉴(2004-2025)
大数据·人工智能·数据分析·可视化·数据可视化
逸Y 仙X1 小时前
Spark SQL
java·大数据·sql·spark
千里码aicood1 小时前
大数据智慧农业场景下的种植技术可视化展示平台设计与实现
大数据
熊出没2 小时前
经营分析平台:接口、工作流、对话框怎么定
大数据
starzy19902 小时前
SparkStreaming 之接收数据原理剖析
大数据·spark
微三云-张梅10 小时前
【三人成团机制如何激活沉默用户的复购意愿?】
大数据·华一健康·微三云·拼团
IT小白杨10 小时前
工程视角下的浏览器环境API:资源模型、权限审计与MCP实践
大数据·经验分享·selenium·chrome devtools·安全架构·指纹浏览器