记一个压缩格式的问题

简介: 问题描述 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

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

相关文章
|
SQL 存储 缓存
最佳实践|如何写出简单高效的 Flink SQL?
通过几个经典案例介绍 Flink SQL 的最佳实践:如何写出简单高效的 Flink SQL,哪些 SQL 是 BAD SQL。帮助大家更好地的认识 Flink SQL。
46015 0
最佳实践|如何写出简单高效的 Flink SQL?
|
存储 SQL 算法
《OceanBase 存储引擎结构》下 | 学习笔记
快速学习《OceanBase 存储引擎结构》下
《OceanBase 存储引擎结构》下 | 学习笔记
|
存储 SQL 城市大脑
独家 | 一击进榜!达摩院十年“扫地僧”,揭秘阿里云数据仓库逆袭之旅
占超群,花名离哲,阿里巴巴集团研究员,数据库OLAP产品部负责人。离哲说,这个花名的由来,是武侠小说里的一个人物。他不是天分过人那种角色,却凭借自己的坚持和努力,最终达到了顶峰。在云技术这个战场上,数据库是核心技术厮杀最激烈的新战场。在阿里,离哲始终坚持长期主义的技术态度,最终带领研发团队,研发的产品云原生数据仓库AnalyticDB和云原生数据湖分析Dala Lake Analytics得到广泛应用,获得浙江省科技进步一等奖,技术上也完成了对TPC榜单的逆袭。
1691 0
独家 | 一击进榜!达摩院十年“扫地僧”,揭秘阿里云数据仓库逆袭之旅
|
Java Linux 编译器
直播回顾:SIMD 指令集在 OpenJDK 中的现状与未来 | 龙蜥技术
第 14 期龙蜥大讲堂直播回顾文来了,内附课件PPT。
直播回顾:SIMD 指令集在 OpenJDK 中的现状与未来 | 龙蜥技术
|
SQL 流计算 大数据
Flink入坑指南 第四章:SQL中的经典操作Group By+Agg
Flink入坑指南系列文章,从实际例子入手,一步步引导用户零基础入门实时计算/Flink,并成长为使用Flink的高阶用户。 简介 Group By + Agg这个最经典的SQL使用方式。Group By是SQL中最基础的分组操作,agg的全称是aggregation(聚合操作),是一类SQL算子的统称,Flink中最常用的Agg操作有COUNT/SUM/AVG等,详情参见Flink支持的聚合操作列表。
10279 1
|
2天前
|
弹性计算 关系型数据库 微服务
基于 Docker 与 Kubernetes(K3s)的微服务:阿里云生产环境扩容实践
在微服务架构中,如何实现“稳定扩容”与“成本可控”是企业面临的核心挑战。本文结合 Python FastAPI 微服务实战,详解如何基于阿里云基础设施,利用 Docker 封装服务、K3s 实现容器编排,构建生产级微服务架构。内容涵盖容器构建、集群部署、自动扩缩容、可观测性等关键环节,适配阿里云资源特性与服务生态,助力企业打造低成本、高可靠、易扩展的微服务解决方案。
1078 0