存储格式

  • 行式存储
    一行的数据都在一个hdfs block上,这样在select * from table 时 ,能全部查出,但是在查某几列时他也会将不需要的列也会取出来在选择需要的列,增加了没必要的磁盘io

  • 列式存储
    每一列数据都类型都一样,可以采取一定的压缩,在查某几列时,只需要查询需要的列不会查询不需要的,但是在select * from table时,由于不同列不在一起,会进行数据重组

hive中存储格式

  • TextFile(行式存储,默认)
    数据没有压缩,磁盘开销大。

  • sequencefile(行式存储)
    key-value格式,对value进行压缩,但是多了一些数据会变大,一般不用

  • orc(列式存储)
    参考官网介绍
    hive 中的存储格式
    将文件分为多个stripe,默认每个stripe为250M,在stripe中默认对每10000行进行一个索引(index data)。这个索引记录了这些行中的最大和最小的值,查询性能明显提升。
    HiveQL语法

    • CREATE TABLE … STORED AS ORC
    • ALTER TABLE … [PARTITION partition_spec] SET FILEFORMAT ORC
    • SET hive.default.fileformat=ORC
  • parquet(列式存储)
    性能差不多,这2 个都常用

相关文章:

  • 2022-03-08
  • 2021-11-18
  • 2022-12-23
  • 2021-08-14
  • 2021-05-26
  • 2021-08-29
  • 2021-12-07
猜你喜欢
  • 2022-12-23
  • 2021-07-28
  • 2021-09-16
  • 2021-10-19
  • 2021-05-07
  • 2021-10-05
相关资源
相似解决方案