目录

压缩

(1)压缩概述

(2)开启Map输出阶段压缩

(3)开启Reduce输出阶段压缩

(4)创建表时指定压缩格式


压缩

(1)压缩概述

MR支持的压缩编码

为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器

压缩性能的比较

假如有一个表:

create table emp_t(

id int,

name String,

deptno int)

row format delimited

fields terminated by ','

collection items terminated by '-'

map keys terminated by ':'

stored as textfile;

(2)开启Map输出阶段压缩

开启map输出阶段压缩可以减少job中Map和Reduce task间数据传输量。具体配置如下:

案例实操:

开启hive中间传输数据压缩功能

set hive.exec.compress.intermediate=true;

开启mapreduce中map输出压缩功能

set mapreduce.map.output.compress=true;

设置mapreduce中map输出数据的压缩方式

set mapreduce.map.output.compress.codec=org.apache.hadoop.io.compress.SnappyCodec;

执行查询语句

select count(1) as name from emp_t;

(3)开启Reduce输出阶段压缩

当Hive将输出写入到表中时,输出内容同样可以进行压缩。属性hive.exec.compress.output控制着这个功能。用户可能需要保持默认设置文件中的默认值false,这样默认的输出就是非压缩的纯文本文件了。用户可以通过在查询语句或执行脚本中设置这个值为true,来开启输出结果压缩功能。

案例实操:

开启hive最终输出数据压缩功能,默认false

set hive.exec.compress.output=true;

开启mapreduce最终输出数据压缩,默认false

set mapreduce.output.fileoutputformat.compress=true;

设置mapreduce最终数据输出压缩方式,

默认:mapreduce.output.fileoutputformat.compress.codec=org.apache.hadoop.io.compress.DeflateCodec

set mapreduce.output.fileoutputformat.compress.codec =org.apache.hadoop.io.compress.SnappyCodec

设置mapreduce最终数据输出压缩为块压缩(NONE 、RECORD、BLOCK)

set mapreduce.output.fileoutputformat.compress.type=BLOCK;

刚创建表时,hdfs中没有文件

插入数据后插入数据,文件格式为snappy:

insert into emp_t(id,name,deptno)values(1,'zhangsan',1);

关闭mapreduce压缩后插入数据,文件格式为textfile:

insert into emp_t(id,name,deptno)values(2,'zhangsan',1);

(4)创建表时指定压缩格式

创建表时指定压缩格式和通过设置Reduce输出阶段压缩的功能一样。

create table emp_t1(id int,name String,deptno int)row format delimitedfields terminated by ','collection items terminated by '-'map keys terminated by ':'STORED AS orc tblproperties ("orc.compress"="Snappy");插入数据:insert into emp_t1(id,name,deptno)values(2,'zhangsan',1);

查看HDFS的文件:

[Hive]Hive表文件压缩介绍相关推荐

  1. pyspark操作hive分区表以及.gz.parquet和part-00000文件压缩问题

    文章目录 pyspark 操作hive表 1> `saveAsTable`写入 2> `insertInto`写入 2.1> 问题说明 2.2> 解决办法 3>`save ...

  2. Hive内部表与外部表区别详细介绍

    文章转载自:http://www.aboutyun.com/thread-7458-1-1.html 1.创建内部表与外部表的区别是什么? 2.external关键字的作用是什么? 3.外部表与内部表 ...

  3. HIVE表的迁移(外部表到内部表并压缩数据)

    Hive表迁移至压缩表: 1. 压缩方式选择(经测试选择snappy) 2. 创建Hive内部表(主要是后面Rename的时候可以将location改成对应的位置) CREATE **TABLE** ...

  4. SmartNews:基于 Flink 加速 Hive 日表生产的实践

    简介: 将 Flink 无缝地集成到以 Airflow 和 Hive 为主的批处理系统的技术挑战和应对方案. 本文介绍了 SmartNews 利用 Flink 加速 Hive 日表的生产,将 Flin ...

  5. hive增量表和全量表_基于 Flink + Hive 构建流批一体准实时数仓

    基于 Hive 的离线数仓往往是企业大数据生产系统中不可缺少的一环.Hive 数仓有很高的成熟度和稳定性,但由于它是离线的,延时很大.在一些对延时要求比较高的场景,需要另外搭建基于 Flink 的实时 ...

  6. hive查看表中列的信息命令_快速了解hive

    作者丨HappyMint 文章选摘:大数据与人工智能 这是作者的第7篇文章 本文主要针对从事大数据分析和架构相关工作,需要与hive打交道但目前对hive还没有进行深层次了解的小伙伴,希望本文会让你对 ...

  7. S3c2440A WINCE平台HIVE注册表+binfs的实现

    今天最大的收获莫过于把binfs和hive注册表同时在三星的平台上实现了,这可是前无古人啊(只是看到好多哥们说找不到三星的HIVE资料),哈哈哈.怕今天的成果日后成炮灰,还是写下来比较好,要养成这样的 ...

  8. HIVE的安装配置、mysql的安装、hive创建表、创建分区、修改表等内容、hive beeline使用、HIVE的四种数据导入方式、使用Java代码执行hive的sql命令

    1.上传tar包 这里我上传的是apache-hive-1.2.1-bin.tar.gz 2.解压 mkdir -p /home/tuzq/software/hive/ tar -zxvf apach ...

  9. S3c2440A平台HIVE注册表+binfs的实现

    我的例子是基于samsung S3C2440A+samsung ONENAND+WinCE5.0的,开发平台是platform builder 5.0,首先我们基于RAM register的image ...

最新文章

  1. linux下卸载自带jdk,重新安装jre运行环境
  2. 从零开始用Python构造决策树(附公式、代码)
  3. 阿里云双十一1折,1C2G 1年仅99 !!一起来拼团!
  4. mysql sqlserver分页_SQLServer常用分页方式
  5. r shiny app的学习和使用,这个我认为是作为大学生最适合的入门网页开发工具!!!
  6. javaweb网关_Java网关服务-AIO(三)
  7. 造成内存泄漏_如何造成内存泄漏
  8. docker基本镜像添加mysql_Docker的Centos7容器配置Tomcat和MySQL并打成基础镜像
  9. 奥多朗WIFI 插座
  10. 苹果手机怎么识别文字
  11. 最全面的应届毕业生落户上海指南(2021)
  12. 剪辑师的基本素养--了解四种特写类型
  13. 独立性检验的基本思想和初步应用
  14. 团队建设:如何打造一个优秀的团队
  15. 安邦金融:99%的人都不知道,原来保险还可以这样配置
  16. NGUI的动态字体dynamicFont的制作
  17. 软件工程导论课程作业——网上二手书店需求分析
  18. Linux_终端命令大全
  19. 【MicroPython ESP32】1.8“tft ST7735驱动3Dcube图形显示示例
  20. STL——1、各类容器迭代器失效总结

热门文章

  1. E20170414-ms
  2. Threat Risk Modeling Learning
  3. asp.net验证空间详说
  4. SQL--JOIN之完全用法
  5. 二维数组按指定的键值排序
  6. for-in和for-of,forEach和Map
  7. 菜鸟学Linux 第030篇笔记 yum使用,源码编译安装
  8. Steve Kemp的XSS介绍
  9. QT错误:collect2:ld returned 1 exit status
  10. OpenCV读取多幅图片,读取系列图片,读取文件夹中指定图像类型的系列图片