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. DataTable导出到Excel

    简单的导出到Excel中: 代码如下: using System; using System.Collections.Generic; using System.Data; using System. ...

  2. css3 自定义字体 @font-face

    CSS3 @font-face 规则 在 CSS3 之前,web 设计师必须使用已在用户计算机上安装好的字体. 通过 CSS3,web 设计师可以使用他们喜欢的任意字体. 当您您找到或购买到希望使用的 ...

  3. ATM

    package duzhaonan;import java.util.Scanner;import javax.swing.JOptionPane;class Account{//创建的账户类 Str ...

  4. ubuntu下命令杂项

    一. 1.用sudo apt-get install python3-numpy之后,会默认把numpy安装到  /usr/lib/python3/dist-packages目录下,而且版本比较低. ...

  5. linux学习日记之目录配制

    linux目录管理遵循FHS标准,主要目标是希望让使用者可以了解已安装软件通常放置于哪个目录上,所以他们希望独立的软件开发商.操作系统制作者.以及想要维护系统的用户,都遵循FHS的标准.也就是说FHS ...

  6. 使用Azure REST API创建虚拟机

    Hollis Yao, Shihao Rong  使用REST API创建虚拟机之前,首先要确保Azure订阅中已经建好了"云服务"和"存储账号".如果没有的话 ...

  7. 把office文档转换为html过程中的一些坑

    之前和我们项目的团队一起酝酿了一个项目,公司的业务文档技术文档比较多,但都比较分散,虽然通过FTP或其他方式聚合起来了,但感觉还是不够方便. 另外公司每次都来新员工,新员工都需要一些培训,比较耗时,比 ...

  8. jQuery九类选择器详解

    (1)基本选择器 <body> <div id="div1ID">div1</div> <div id="div2ID" ...

  9. linux内存和虚拟内存的使用

  10. 【vuejs小项目】一、脚手架搭建工作

    一.关于vuejs 这是一个MVVM的前端开发框架,model(数据).viewmode(通讯).view(视图),它吸取了reactjs和angularjs的长处,核心重点在于组件化的设计原则. 我 ...