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时,通常首选块压缩
相关推荐
BYSJMG9 分钟前
计算机大数据毕业设计推荐:基于Spark的气候疾病传播可视化分析系统【Hadoop、python、spark】
大数据·hadoop·python·信息可视化·spark·django·课程设计
励志成为糕手1 小时前
大数据MapReduce架构:分布式计算的经典范式
大数据·hadoop·mapreduce·分布式计算·批处理
计算机毕设残哥1 小时前
大数据毕业设计选题推荐:护肤品店铺运营数据可视化分析系统详解
大数据·信息可视化·课程设计
君不见,青丝成雪1 小时前
大数据云原生是什么
大数据·云原生
金融小师妹2 小时前
AI多因子模型解析:黄金涨势受阻与美联储9月降息政策预期重构
大数据·人工智能·算法
lisuwen1163 小时前
GPT-5 上线风波深度复盘:从口碑两极到策略调整,OpenAI 的变与不变
大数据·人工智能·gpt·chatgpt
Jay Kay4 小时前
Flink原理与实践 · 第三章总结
大数据·flink
Tezign_space4 小时前
特赞内容运营解决方案,AI重构品牌内容价值链
大数据·人工智能·数据挖掘·产品运营·内容运营·内容+ai·agentai
Direction_Wind5 小时前
粗粮厂的基于spark的通用olap之间的同步工具项目
大数据·分布式·spark
中国国际健康产业博览会5 小时前
2026天然健康原料展:聚焦健康,成就未来商机与合作
大数据·人工智能