实战班-Hive高级(一)

一、上次回顾

二、压缩在Hadoop项目中的使用场景

三、压缩在HIve中的使用

一、上次回顾

  • ETL是只有map没有reduce的,MapReduce开发的Java代码我们只需要把项目跑出来即可;处理完的结果是hdfs上的一个location,刷新分区信息,就能够查询得到。

二、压缩在Hadoop项目中的使用场景

Mapreduce --> ETL --> HDFS(普通的文本格式)

  • 我们在HDFS上使用的是纯文本格式,数据未经任何压缩,在生产上肯定是不行的;假设生产上一天的数据量是500G,以三副本为例的话,1500G,会占用很多个block,这样是不行的;所以在ETL --> HDFS的时候可以把压缩(compression)加进去。

ETL --> Compression --> HDFS

  • 以Windows进行举例,使用右键进行压缩,采用ZIP\RAR方式压缩,压缩方式还分为很多种(较快、很快、标准)
压缩带来的好处:

1、节省磁盘利用率
2、加快网络传输

带来的坏处:

1、多了一步操作压缩和解压,对于压缩、解压是需要耗费CPU的

假设大桥.mp4,1.5G,对文件进行压缩后是0.8G;现在需要把它拷贝到移动硬盘,肯定是0.8G的文件传输起来较快.

压缩不仅仅减少磁盘的空间,还能加速网络的传输,结合MapReduce的流程,压缩往往发生在Shuffle阶段,Shuffle过程会分到一个Reduce中去。

总结:在大数据中任何一种调优方式都不是万能的,需要结合生产实际情况来看。在生产场景中:集群整体负载高的话,就不能使用压缩和解压;集群负载低的话可以开压缩。

压缩就是磁盘和CPU的一个取舍。

压缩使用场景

在这里插入图片描述
压缩场景:
1、input:Flume Sink HDFS <==> Spark/Mapreduce
2、output:Spark/Mapreduce ==> Sink Hadoop
3、temp:Sink DISK

2.1、常用压缩格式介绍

1、Windows上的压缩:
在这里插入图片描述

2、同样在Linux上也有压缩:
检查自己机器上的Hadoop是否支持压缩:下载Hadoop源码添加仓库一个命令执行到底就能okay?
在这里插入图片描述

[hadoop@sz5i5j-01 hadoop]$ bin/hadoop checknative
20/05/11 12:46:53 INFO bzip2.Bzip2Factory: Successfully loaded & initialized native-bzip2 library system-native
20/05/11 12:46:53 INFO zlib.ZlibFactory: Successfully loaded & initialized native-zlib library
Native library checking:
hadoop:  true /home/hadoop/app/hadoop-2.6.0-cdh5.7.0/lib/native/libhadoop.so.1.0.0
zlib:    true /lib64/libz.so.1
snappy:  true /lib64/libsnappy.so.1
lz4:     true revision:99
bzip2:   true /lib64/libbz2.so.1
openssl: true /lib64/libcrypto.so
面试必问必考:

1、常用压缩格式对比:

No Compress Snappy LZ4 LZO GZIP BZIP2
1403M 701M 693M 684M 447M 390M

2、常用压缩速度对比:

Time BZIP2 GZIP LZO LZ4 Snappy
压缩时间 142 85 7.6 6.45 6.41
解压时间 62 21 11.1 2.36 19.84

总结:压缩速度压缩比肯定是成反比的,一般选择压缩速度与压缩时间相近的进行选择;LZO、LZ4、Snappy如上是都可以进行选择的。

压缩在Hadoop中的应用 - 常用Codec

压缩格式 配置参数
zlib org.apache.hadoop.io.compress.DefaultCodec
gzip2 org.apache.hadoop.io.compress.GzipCodec
bzip2 org.apache.hadoop.io.compress.BZ
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值