HDFS文件格式

file_format:
  TEXTFILE    默认格式
  RCFILE     hive 0.6.0 和以后的版本
  ORC       hive 0.11.0 和以后的版本
  PARQUET     hive 0.13.0 和以后的版本,该数据格式企业中最常用
  AVRO      hive 0.14.0 和以后的版本

数据存储的方式

1. 按行存储 textfile
2. 按列存储 orc/parqurt
  --orcfile
    每列数据有类似于元数据的索引信息,可以确定列内容,需要某列信息时可以直接锁定列内容,效率优于按行存储
    压缩出来的文件比例最小,以时间换存储
  --parquet
    比较复杂,支持嵌套数据结构和高效其种类丰富的算法(以应对不同值分布特征的压缩)
    压缩率不如orcfile,时间与压缩比适中
  压缩率
  TEXTFILE(不压缩) RCFILE(14%) parquet(62%) orcfile(78%) 其中ORCFILE是RCFILE一个升级

常见的压缩技术

1. 压缩格式: bzip2,gzip,lzo,lz4,snappy等
2. 压缩比: bzip2>gzip>lzo bzip2最节省存储空间
3. 解压速度: lzo>gzip>bzip2 lzo解压速度最快
4. mapreduce
    --> input --> map --> shuffle --> reduce --> output
      --> shuffle
        --> map shuffle
          --> spill
          --> partition: 决定map的输出交给那个reduce处理
          --> sort: 两种方式,WritableComparable/Comparable
          --> combiner: map端的reduce
          --> 压缩
        --> reduece shuffle
          -->merger
          --> 分组: 将相同key的value进行合并
5. hadoop中的压缩
  --> 减少网络IO
  --> 减少了磁盘IO存储
  --> 注意压缩必须有可分割性(在map输出经过shuffle到reduce时需要解压缩,保证单个数据还可以被解压)
  --> hadoop支持的压缩格式:zlib/gzip/bzip2/lzo/lz4/snappy
6. hadoop中编译snappy压缩
  --> Linux安装snappy库
  --> 下载hadoop-snappy-master.zip 编译生成支持hadoop的snappy.so
  --> 将生成的jar包放到hadoop目录下的lib
  --> 添加配置文件
  core-site.xml
    <property>
      <name>io.compression.codecs</name>
      <value>
        org.apache.hadoop.io.compress.GzipCodec,
        org.apache.hadoop.io.compress.DefaultCodec,
        org.apache.hadoop.io.compress.BZip2Codec,
        org.apache.hadoop.io.compress.SnappyCodec
      </value>
    </property>

Hadoop_常用存储与压缩格式的更多相关文章

  1. Hive 表数据的存储和压缩格式

    SerDe * 按行存储 * 按列存储 file_format: : | SEQUENCEFILE 序列化(行存储) | TEXTFILE 文本格式(行存储)- (Default, depending ...

  2. zip,rar及linux下常用的压缩格式

    日常操作中我们经常使用到文件压缩操作,其使用一些特定的算法来减小文件的大小,可以提高传输数据时的速率和减少数据在一些存储机制上占有的空间大小,实现空间利用最大化. 比如:如果你想通过邮箱发送一个文件夹 ...

  3. linux下关于gz和bz2压缩格式的常用操作技巧

    .gz和.bz2都是linux下压缩文件的格式,有点类似windows下的.zip和.rar文件..bz2和.gz的区别在于,前者比后者压缩率更高,后者比前者花费更少的时间. 也就是说同一个文件,压缩 ...

  4. hive 压缩全解读(hive表存储格式以及外部表直接加载压缩格式数据);HADOOP存储数据压缩方案对比(LZO,gz,ORC)

    数据做压缩和解压缩会增加CPU的开销,但可以最大程度的减少文件所需的磁盘空间和网络I/O的开销,所以最好对那些I/O密集型的作业使用数据压缩,cpu密集型,使用压缩反而会降低性能. 而hive中间结果 ...

  5. Apache Hive 存储方式、压缩格式

    简介: Apache hive 存储方式跟压缩格式! 1.Text File hive> create external table tab_textfile ( host string com ...

  6. Python解压ZIP、RAR等常用压缩格式的方法

    解压大杀器 首先祭出可以应对多种压缩包格式的python库:patool.如果平时只用基本的解压.打包等操作,也不想详细了解各种压缩格式对应的python库,patool应该是个不错的选择. pato ...

  7. [转帖]mysql常用存储引擎(InnoDB、MyISAM、MEMORY、MERGE、ARCHIVE)介绍与如何选择

    mysql常用存储引擎(InnoDB.MyISAM.MEMORY.MERGE.ARCHIVE)介绍与如何选择原创web洋仔 发布于2018-06-28 15:58:34 阅读数 1063 收藏展开 h ...

  8. Linux 常见压缩格式详解

    linux 文件压缩格式详解 压缩文件原理 在计算机科学和信息论中,数据压缩或者源编码是按照特定的编码机制用比未经编码少的数据比特(或者其它信息相关的单位)表示信息的过程.例如,如果我们将" ...

  9. Hadoop支持的压缩格式对比和应用场景以及Hadoop native库

    对于文件的存储.传输.磁盘IO读取等操作在使用Hadoop生态圈的存储系统时是非常常见的,而文件的大小等直接影响了这些操作的速度以及对磁盘空间的消耗. 此时,一种常用的方式就是对文件进行压缩.但文件被 ...

随机推荐

  1. SQL中NULL值

    SQL的表达式,除了IS NULL和NOT NULL以外,只要出现NULL值结果都为FALSE 简单的例子: SELECT * FROM table WHERE name!='abc' 只要name值 ...

  2. Linux kilin 安装和按键服务器步骤

    U盘启动,傻瓜式安装 设置root 密码 sudo passwd root vsftpd和ssh服务 使用apt-get可以直接安装vsftpd和ssh,首先要sudo apt-get update ...

  3. angularjs 设置全局变量的3种方法

    angularjs自身有二种,设置全局变量的方法,在加上js的设置全局变量的方法,总共有三种.要实现的功能是,在ng-app中定义的全局变量,在不同的ng-controller里都可以使用. 1,通过 ...

  4. Lintcode 85. 在二叉查找树中插入节点

    -------------------------------------------- AC代码: /** * Definition of TreeNode: * public class Tree ...

  5. memcache入门笔记

    向memcached保存数据时可以指定期限(秒).不指定期限时,memcached按照LRU算法保存数据. 这三个方法的区别如下: 选项 说明 add 仅当存储空间中不存在键相同的数据时才保存 rep ...

  6. PHP项目实现手机端和PC端的页面切换

    目前访问页面的要切换成手机端和PC端,原理是通过对设备作出判断,显示不同的功能和页面. 如果手机端和PC端的功能结构不相同,一般会写两套系统,一套适用于PC端,一套适用于手机端. 如果功能相同,则只需 ...

  7. Android基础学习第三篇—Intent的用法

    写在前面的话: 1. 最近在自学Android,也是边看书边写一些Demo,由于知识点越来越多,脑子越来越记不清楚,所以打算写成读书笔记,供以后查看,也算是把自己学到所理解的东西写出来,献丑,如有不对 ...

  8. Oracle连接与会话

    连接(connection):连接是从客户端到oracle数据库实例的一条物理路径. 会话(session):会话是数据库实例中存在的一个逻辑实体. case1:一个连接可以有多个会话 SQL> ...

  9. (转)论python工厂函数与内建函数

    所谓工厂函数就是指这些内建函数都是类对象, 当你调用它们时,实际上是创建了一个类实例.   工厂函数: int(),long(),float(),complex(),bool() str(),unic ...

  10. android---shape.xml属性

    solid:填充android:color指定填充的颜色 gradient:渐变android:startColor和android:endColor分别为起始和结束颜色, 另外渐变默认的模式为and ...