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实现1+1运算

    Python实现1+1运算Python作为一种强大的编程语言,具有高效、易学、多样化等特点,其应用范围广泛。本文将从多个方面阐述Python实现1+1运算的方法,包括基本语法、数据类型、运算符、变量、函数和模块等方面。

    2023-12-27
    87
  • 双主master-master复制Err 1677故障分析

    双主master-master复制Err 1677故障分析2020-03-29 20:00:27 一、报错信息 近期项目实施同事对系统升级,对test.test_tab_t1的某个字段进行变更,SQL语句如下: ALTER TABLE TEST.TEST_…

    2023-02-20
    130
  • sql中any和all的区别_MySQL数据库连接

    sql中any和all的区别_MySQL数据库连接all的用法 与子查询配合使用 在all的用法中,有三种 第一种: <>all类似于not in 等效于not in 语法:select 列名 from 表名 where 列名 <&

    2023-05-26
    119
  • .net core和.net_vs安装选哪些

    .net core和.net_vs安装选哪些前言 .Net目前支持构建服务器端应用程序的两种实现主要有两种,.NET Framework和.NET Core。两者共享许多相同的组件,并且您可以在两者之间共享代码。但是,两者之间存在根本差异,在我

    2023-02-04
    118
  • Mysql分库分表全面理解「建议收藏」

    Mysql分库分表全面理解「建议收藏」引言 微服务、分布式大行其道的当下,中、高级Java工程师面试题中高并发、大数据量、分库分表等已经成 了面试的高频词汇,这些知识不了解面试通过率不会太高。你可以不会用,但你不能不知道,就是这么 一种…

    2023-02-11
    127
  • Oracle学习笔记二十八:视图的使用「建议收藏」

    Oracle学习笔记二十八:视图的使用「建议收藏」一、视图概念 • 视图概念 • 视图是基于一个表或多个表或视图的逻辑表(虚表),本身不包含数据,通过它可以对表里面的数据进行查询。 • 基表 • 视图是从一个或多个实际表中获得的,这些表的数据存放在数

    2023-05-23
    120
  • linux上部署mysql(记录)

    linux上部署mysql(记录)默认linux未安装过mysql,若已安装,则自行解决卸载问题。 传送门:https://www.jianshu.com/p/276d59cbc529 将 mysql-5.7.22-linux-gl…

    2023-02-18
    130
  • Linux中使用PyCharm的方法

    Linux中使用PyCharm的方法PyCharm是一款由JetBrains开发的Python集成开发环境(IDE),提供了强大的代码编辑、调试、测试和分析功能,深受广大Python开发者的喜爱。而在Linux系统中,使用PyCharm也非常方便。

    2024-06-10
    34

发表回复

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