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时,通常首选块压缩
相关推荐
你觉得20510 分钟前
浙江大学朱霖潮研究员:《人工智能重塑科学与工程研究》以蛋白质结构预测为例|附PPT下载方法
大数据·人工智能·机器学习·ai·云计算·aigc·powerpoint
益莱储中国25 分钟前
世界通信大会、嵌入式展及慕尼黑上海光博会亮点回顾
大数据
Loving_enjoy1 小时前
基于Hadoop的明星社交媒体影响力数据挖掘平台:设计与实现
大数据·hadoop·数据挖掘
浮尘笔记1 小时前
go-zero使用elasticsearch踩坑记:时间存储和展示问题
大数据·elasticsearch·golang·go
碳基学AI2 小时前
哈尔滨工业大学DeepSeek公开课:探索大模型原理、技术与应用从GPT到DeepSeek|附视频与讲义免费下载方法
大数据·人工智能·python·gpt·算法·语言模型·集成学习
一个天蝎座 白勺 程序猿3 小时前
大数据(4.6)Hive执行引擎选型终极指南:MapReduce/Tez/Spark性能实测×万亿级数据资源配置公式
大数据·hive·mapreduce
HelpHelp同学4 小时前
信息混乱难查找?三步搭建高效帮助中心解决难题
大数据·人工智能·知识库管理系统
TDengine (老段)10 小时前
TDengine 中的关联查询
大数据·javascript·网络·物联网·时序数据库·tdengine·iotdb
直裾15 小时前
Mapreduce的使用
大数据·数据库·mapreduce
麻芝汤圆17 小时前
使用 MapReduce 进行高效数据清洗:从理论到实践
大数据·linux·服务器·网络·数据库·windows·mapreduce