Hive支持的文件格式和压缩格式及各自特点

Hive中的文件格式

1-TEXTFILE

  • 文本格式,Hive的默认格式,数据不压缩,磁盘开销大、数据解析开销大。
  • 对应的hive API为:org.apache.hadoop.mapred.TextInputFormat和org.apache.hive.ql.io.HiveIgnoreKeyTextOutputFormat;
  • 可结合Gzip、Bzip2使用(系统自动检查,执行查询时自动解压),但是使用这种方式,hive不会对数据进行切分,从而无法对数据进行并行操作

2-SequenceFile

  • Hadoop提供的二进制文件,Hadoop支持的标准文件;
  • 数据直接序列化到文件中,SequenceFile文件不能直接查看,可以通过Hadoop fs -text查看;
  • SequenceFile具有使用方便、可分割、可压缩、可进行切片,压缩支持NONE、RECORD、BLOCK(优先);
  • 对应hive API:org.apache.hadoop.mapred.SequenceFileInputFormat和org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat

3-RCFILE

  • rcfile是一种行列存储相结合的存储方式,先将数据按行进行分块再按列式存储,保证同一条记录在一个块上,避免读取多个块,有利于数据压缩和快速进行列存储;
  • 对应 hive API为:org.apache.hadoop.hive.ql.io.RCFileInputFormat和org.apache.hadoop.hive.ql.io.RCFileOutputFormat

4-orcfile

  • orcfile式对rcfile的优化,可以提高hive的读写、数据处理性能、提供更高的压缩效率;
  • 优点:
    • 每个task只输出单个文件,减少namenode负载;
    • 支持各种复杂的数据类型,比如:datetime,decima以及复杂类型struct、list、map;
    • 文件中存储了一些轻量级的索引数据;
    • 基于数据类型的块模式压缩:integer类型的列用行程长度编码,string类型的列使用字典编码;
    • 用多个相互独立的recordReaders并行读相同的文件
    • 无需扫描markers即可分割文件
    • 绑定读写所需内存
    • metadata存储用protocol buffers,支持添加和删除列

5-parquet

  • Parquet也是一种列式存储,同时具有很好的压缩性能;同时可以减少大量的表扫描和反序列化的时间。

总结

  • textfile 存储空间消耗比较大,并且压缩的text 无法分割和合并 查询的效率最低,可以直接存储,加载数据的速度最高;
  • sequencefile 存储空间消耗最大,压缩的文件可以分割和合并 查询效率高,需要通过text文件转化来加载;
  • orcfile, rcfile存储空间最小,查询的效率最高 ,需要通过text文件转化来加载,加载的速度最低;
  • parquet格式是列式存储,有很好的压缩性能和表扫描功能;


SequenceFile,ORCFile(ORC),rcfile格式的表不能直接从本地文件导入数据,数据要先导入到textfile格式的表中,然后再从textfile表中导入到SequenceFile,ORCFile(ORC),rcfile表中。

Hive支持的压缩格式

  • Hive支持的压缩格式为Gzip、Bzip2、lzo、snappy

    压缩特点.jpg

原文地址:https://www.cnblogs.com/sx66/p/12039248.html

时间: 2024-08-30 03:24:14

Hive支持的文件格式和压缩格式及各自特点的相关文章

常见压缩格式比对,及 Linux 下的压缩相关指令

可先浏览加粗部分 一.常见压缩档 *.zip | zip 程序压缩打包的档案: (很常见,但是因为不包含文档名编码信息,跨平台可能会乱码) *.rar | winrar 进程压缩打包的档案:(在windows上很常见,但是是商业软件.) *.gz | gzip 程序压缩的档案: (linux目前使用最广泛的压缩格式) *.bz2 | bzip2 程序压缩的档案: *.xz | xz 程序压缩的档案: *.tar | tar 程序打包的资料,并没有压缩过: *.tar.gz | tar 程序打包的

创建GZIP压缩格式的HIVE表

[Author]:  kwu GZIP为Linux系统中最常用的压缩格式,创建GZIP压缩格式的HIVE表具体步骤如下. 1.以 STORED AS TEXTFILE 为存储格式创建HIVE表 CREATE TABLE TRACKLOG (DATEDAY STRING COMMENT "日期",IP STRING COMMENT "IP",COOKIEID STRING COMMENT "用户COOKIE",USERID STRING COMME

哎哟我去!betterzip居然支持这么多压缩格式!

Mac解压软件 BetterZip 是一款功能强大的Mac压缩工具,不仅有着强大的数据密码保护功能,让我们的压缩数据更加安全,还支持着多种压缩格式,不管是主流的还是其他的,都可以试用BetterZip进行解压缩工作. 今天小编就要给大家具体介绍一下,BetterZip到底支持多少种压缩格式. 支持的压缩格式包括: ZIP,TAR,TGZ,TBZ,TXZ,7-ZIP,RAR,Apple Disk Images(DMG),TNEF(winmail.dat),ARJ,LHA,LZH,ISO,CHM,C

hive中的文件格式的简介

[hive中的file_format] SEQUENCEFILE:生产中绝对不会用,k-v格式,比源文本格式占用磁盘更多 TEXTFILE:生产中用的多,行式存储 RCFILE:生产中用的少,行列混合存储,OCR是他得升级版 ORC:生产中最常用,列式存储 PARQUET:生产中最常用,列式存储 AVRO:生产中几乎不用,不用考虑 JSONFILE:生产中几乎不用,不用考虑 INPUTFORMAT:生产中几乎不用,不用考虑 [注意]hive默认的文件格式是TextFile,可通过set hive

Linux XZ压缩格式学习

XZ的介绍   今天升级Python的时候,下载的Python-2.7.8.tar.xz安装包为xz格式,好吧,我又孤陋寡闻了,居然第一次遇见xz格式的压缩文件.搜索了一下资料,下面是xz的一些介绍: xz是一个使用 LZMA压缩算法的无损数据压缩文件格式.和gzip与bzip2一样,同样支持多文件压缩,但是约定不能将多于一个的目标文件压缩进同一个档案文件.相反,xz通常作为一种归档文件自身的压缩格式,例如使用tar或cpioUnix程序创建的归档.xz 在GNU coreutils(版本 7.

游戏内图片-文件格式与纹理格式

有一篇好文章,链接门:Unity3D手游开发实践<腾讯桌球>客户端开发经验总结 文章里提到了游戏内图片-文件格式与纹理格式 我才第一次恍然知道了,文件格式和纹理格式原来是酱紫的关系.以前我是有多神经大条,处理了那么多图片竟然没有懂细想它们的关系…… 常用的图像文件格式有BMP,TGA,JPG,GIF,PNG等: 常用的纹理格式有R5G6B5,A4R4G4B4,A1R5G5B5,R8G8B8, A8R8G8B8等. 文件格式是图像为了存储信息而使用的对信息的特殊编码方式,它存储在磁盘中,或者内存

【好记性不如烂笔头】常用的图片 文件格式 和 纹理格式

[好记性不如烂笔头]常用的图片 文件格式 和 纹理格式 1,常用的图片文件格式: bmp ( window 下通用格式 Bitmap 除了深度可选,不采用任何压缩) gif (一种基于LZW算法的连续色调的无损压缩格式 压缩率在50%) jpeg(非常流行的图像格式,有损压缩 ,不支持透明像素 ,压缩比较大 ) png(和jpg类似,压缩比高于gif ,支持透明度,无损压缩 ) 2,常用的纹理格式: R5G6B5, A4R4G4B4, A1R5G5B5, R8G8B8, A8R8G8B8 pvr

hadoop中4种压缩格式的特征的比较

1 gzip压缩 优点:压缩率比较高,而且压缩/解压速度也比较快:hadoop本身支持,在应用中处理gzip格式的文件就和直接处理文本一样:有hadoop native库:大部分linux系统都自带gzip命令,使用方便. 缺点:不支持split. 应用场景:当每个文件压缩之后在130M以内的(1个块大小内),都可以考虑用gzip压缩格式.譬如说一天或者一个小时的日志压缩成一个gzip 文件,运行mapreduce程序的时候通过多个gzip文件达到并发.hive程序,streaming程序,和j

常用纹理和纹理压缩格式

转载至: http://blog.csdn.net/ynnmnm/article/details/44983545 by 夜风 简单纹理格式 RGBA8888 每个像素4字节,RGBA通道各占用8位 RGBA4444 每个像素2字节,RGBA通道各占用4位 RGB888 每个像素3字节,RGB通道各占用8位,无透明通道 RGB565 每个像素2字节,RGB通道各占用5/6/5位,无透明通道 RGBA5551 每个像素2字节,RGB通道各占用5位,透明通道1位,所以要么完全透明要么不透明 DXT纹