hive表存储格式的区别_论文表格格式

hive表存储格式的区别_论文表格格式Hive的文件存储格式: textFile textFile为默认格式 存储方式:行存储 缺点:磁盘开销大;数据解析开销大;压缩的text文件,hive无法进行合并和拆分 sequencefile 二

Hive的文件存储格式:

  • textFile

    textFile为默认格式

    存储方式:行存储    

    缺点:磁盘开销大;数据解析开销大;压缩的text文件,hive无法进行合并和拆分

  • sequencefile

    二进制文件,以<key,value>的形式序列化到文件中

    存储方式:行存储

    优点:可分割、压缩,一般选择block压缩,与hadoop api中的mapfile是互相兼容的。

  • Rcfile

    存储方式:数据按行分块 每块按照列存储

    压缩快 快速列存取

    读记录尽量涉及到的block最少

    读取需要的列只需要读取每个row group 的头部定义。

    读取全量数据的操作 性能可能比sequencefile没有明显的优势

  • ORC

    存储方式:数据按行分块 每块按照列存储

    压缩快 快速列存取

    效率比rcfile高,是rcfile的改良版本

    官网介绍:

    The Optimized Row Columnar (ORC) file format provides a highly efficient way to store Hive data. It was designed to overcome limitations of the other Hive file formats. Using ORC files improves performance when Hive is reading, writing, and processing data.

代码100分

    ORC实际上是在RC文件存储格式做了一些优化,它的主要优点有:
      (1)、每个task只输出单个文件,这样可以减少NameNode的负载;
      (2)、支持各种复杂的数据类型,比如: datetime, decimal, 以及一些复杂类型(struct, list, map, and union);
      (3)、在文件中存储了一些轻量级的索引数据;
      (4)、基于数据类型的块模式压缩:a、integer类型的列用行程长度编码(run-length encoding);b、String类型的列用字典编码(dictionary encoding);
      (5)、用多个互相独立的RecordReaders并行读相同的文件;
      (6)、无需扫描markers就可以分割文件;
      (7)、绑定读写所需要的内存;
      (8)、metadata的存储是用 Protocol Buffers的,所以它支持添加和删除一些列。

  • 自定义格式

    用户可以通过实现inoutformat和outputformat来定义输入输出格式。

 

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/10874.html

(0)
上一篇 2022-12-20
下一篇 2022-12-20

相关推荐

  • Python界面开发工具推荐

    Python界面开发工具推荐Python作为目前最受欢迎的编程语言之一,应用领域也愈加广泛,其中GUI应用开发也越来越受到开发者的关注,这篇文章将为大家分享目前市面上广泛使用的Python界面开发工具。

    2024-07-22
    34
  • PG启动恢复机制「终于解决」

    PG启动恢复机制「终于解决」生产一个pg库停了后,起库的时候则需要很长时间,记录一下相应的原理。 如backup_label文件不存在(当前没有在做备份),正情况情况下, 在恢复的开始, 服务器首先读取pg_control,然…

    2023-03-19
    152
  • Python对象如何转JSON格式数据

    Python对象如何转JSON格式数据在现实生活以及软件开发中,数据交互是必不可少的。而在数据交互过程中,JSON已成为一种较为流行的数据交换格式。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于阅读和编写。在Python中,我们可以将Python对象转换为JSON格式数据,以便进行数据交换和传输。

    2024-08-30
    24
  • mysql 基于mysql-proxy实现读写分离

    mysql 基于mysql-proxy实现读写分离mysql读写分离读写分离首先不推荐使用,很多业务场景也没有必要,不仅增加技术复杂度,而且可能会导致读到落后的数据,建议优化数据库,推荐使用keepalive+mysql双主复制的方案然后mysql…

    2023-03-28
    157
  • 重庆哪里可以开办公用品发票-中国-新闻网「终于解决」

    重庆哪里可以开办公用品发票-中国-新闻网「终于解决」重庆哪里可以开办公用品发票【152 * 9б 28 * 21 б9】陈生,诚、信、合、作,保、真、售、后、保、障、长、期、有、效。adb的全称为Android Debug Bridge,是Andro…

    2023-02-01
    140
  • MySQL实战优化之InnoDB整体架构

    MySQL实战优化之InnoDB整体架构一、InnoDB 更新数据得整体架构 每个组件的作用说明: 用一条更新数据来说明每个主键得作用: update student set name = 'zhangsan' where

    2023-04-20
    152
  • Python中跳出for循环的方法

    Python中跳出for循环的方法在Python编程中,for循环是一种对于序列进行遍历的常用循环结构。但是,在某些情况下,我们可能需要在循环中提前跳出,或者是跳过某些不需要处理的元素。本篇文章将会介绍Python中跳出for循环的方法。

    2024-08-03
    28
  • 提高Python代码可读性的技巧

    提高Python代码可读性的技巧可读性是每个开发人员必须具备的技能之一,因为可读性良好的代码可以帮助其他人更好地理解你的代码,并且能够减少代码中的错误。本文将介绍一些可以提高Python代码可读性的技巧。

    2024-03-01
    97

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注