impala

Impala

  • impala是参照谷歌新三篇论文Dremel的开源实现。Impala是Cloudera公司主导开发并开源。基于Hive并使用内存进行计算,兼顾数据仓库,具有实时、批处理、多并发等优点。是使用CDH的首选PB级大数据实时查询(OLAP)分析引擎。有测试表明,Impala的性能较Hive提高了3~90倍。

数据仓库Hive浅析

  • 数据加载到数据库的两种模式

    • 写模式
      • 数据在加载的时候对数据合法性进行校验,库中的数据是合乎规范的,有利于快速查询和快速处理。
      • Mysql就是用的这种模式
    • 读模式
      • 在数据读取的时候对数据合法性进行校验,在加载入库的时候不校验。加载速度非常快,适合大量数据的一次性加载。
      • Hive是读模式。当上传文件到表中,Hive不会对表中的数据进行校验,对于错误的数据格式查询的时候也不会报错,只是会显示为NULL。
  • 数据库和数据仓库的区别

    • 数据库是面向事务处理的。是为捕获数据而设计的。一般存储的是实时的数据。
    • 数据仓库是面向主题设计的。是为分析数据设计的。存储的是历史的数据。将多个不同数据源的数据整理成统一的标准化数据。数据仓库里面的数据相对文档,数据仓库中的数据一般面向决策,主要面对的是查询和更新,修改和删除操作很少。
  • Hive文件的格式

    • TextFile
      • hive默认存储格式
      • 存储方式为:行存储
      • 磁盘开销大,数据解析开销大
      • 压缩的text文件hive无法进行合并和拆分
    • SequenceFile
      • 二进制文件,以k-v形式序列化到文件中
      • 存储方式: 行存储
      • 可以分割,支持压缩
      • 一般选择block压缩
    • RCFile
      • 存储方式:数据按行分块,按列存储
      • 压缩快,快速列存取
      • 读记录尽量涉及到的block最少
      • 读取需要的列只需要读取灭个row group的头部定义
      • 读取全量的数据操作性能可能比sequencefile没有明显的优势
    • ORCFile
      • 存储方式: 数据按行分块,按列存储
      • 压缩快,快速列存取
      • 效率比RCFile高,是RCFile的改良版本。
  • Hive文件压缩格式以及压缩效率

    • 压缩可以减少存储文件所需要的磁盘空间,加速数据在磁盘和网络上的传输。

    • 四种常见压缩算法比较

      压缩格式 split native 压缩率 速度 是否Hadoop自带 换成压缩格式后,原来的应用程序是否需要修改
      gzip 很高 和文本处理一样,不需要修改
      lzo 很快 否,需要安装 需要建索引,还要指定输入格式
      snappy 很快 否,需要安装 和文本处理一样,不需要修改
      bzip2 最高 和文本处理一样,不需要修改
    • 压缩算法效率比较

      压缩格式 压缩比 压缩速率 解压速率
      gzip 13.4% 21MB/s 118MB/s
      lzo 20.5% 135MB/s 410MB/s
      snappy 22.2% 172MB/s 409MB/s
      bzip2 13.2% 2.4MB/s 9.5MB/s
      • gzip 压缩使用的CPU资源比Snappy或LZO更多,但可提供更好的压缩比,GZIP通常是不常访问的冷数据的不错选择,而Snappy或LZO更加适合经常访问的热数据。
      • Bzip2还可以为文件提供比gzip2更好的压缩比,但是在压缩和解压时会在一定程度上影响速度。
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×