记一个压缩格式的问题

简介: 问题描述 Hive ORC table常规小文件过多问题,于是用Spark写了一个Application来自动的Merge分区数据,思路很简单大概就是 insert overwrite table partition (分区 XXX) select * from table where (分区 XXX)当然已经把该dataframe repartition到想要的目标并发度,来控制最终分区下的文件个数 但是发现生成的文件个数虽然是对的,但是最后整个分区的Size竟然几乎翻倍。

问题描述

Hive ORC table常规小文件过多问题,于是用Spark写了一个Application来自动的Merge分区数据,思路很简单
大概就是

insert overwrite table partition (分区 XXX) select * from table where (分区 XXX)
当然已经把该dataframe repartition到想要的目标并发度,来控制最终分区下的文件个数

但是发现生成的文件个数虽然是对的,但是最后整个分区的Size竟然几乎翻倍。

排查过程以及结论

怀疑是Spark SQL没有压缩或者压缩格式不对

https://stackoverflow.com/questions/48759909/how-to-check-if-zlib-compression-is-enabled-in-hive-tables

用这个链接的方式自查一下
发现 hive 生成的文件默认是zlib
而spark生成的文件默认是snappy

image

image

这个导致了最终文件大小相差较大

相关文章
|
3月前
开始压缩
【9月更文挑战第05天】
20 2
|
7月前
|
XML JSON 缓存
数据的格式与描述
数据的格式与描述
67 4
|
7月前
|
存储 编解码 算法
图像的压缩算法--尺寸压缩、格式压缩和品质压缩
图像的压缩算法--尺寸压缩、格式压缩和品质压缩
136 0
|
7月前
|
算法
443.压缩字符串
443.压缩字符串
31 0
|
存储 编解码 算法
编码压缩介绍
压缩编码介绍,JPEG标准,H.264,AVS,预测,变换,量化,熵编码,环路滤波
139 0
7zip压缩zip格式时文件名支持中文的设置
7zip压缩zip格式时文件名支持中文的设置
135 0
7zip压缩zip格式时文件名支持中文的设置
1473. A + B 格式
1473. A + B 格式
102 0
|
API Android开发
Java字符串压缩(两种压缩方式)
第一种,只统计字符出现次数,比如aabcccccaaa,压缩成a5b1c5 思路:利用hashMap键的唯一性
1266 0