栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

验证collect

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

验证collect

验证collect_set后的数据是否比摊开的数据占用空间小?

文件格式:parquet

去重记录数:776885759

验证方式:

读取用户日志表,A表记录用户id和日志时间的去重记录,B表把用户id和该用户对应的日志时间的数组作为一行来记录。B表展开后与A表相同。两表存储的数据量是相同的。最后观察A表和B表的磁盘占用空间是否相同。

实现结论:

A表占用10.9G,B表占用4.7G,说明collect_set后的数据占用空间更小,节省磁盘空间57%。

  表A占用空间

 表B占用空间

 

 

-- 表A:
create table music_db_test.tmp_xxt_20211012_dwd_user_action_impress_d_1
stored as parquet
as 
select distinct user_id,log_time
from music_iplay.dwd_user_action_impress_d
where dt='2021-10-11';

-- 表B:
create table music_db_test.tmp_xxt_20211012_dwd_user_action_impress_d_2
stored as parquet
as 
select user_id,collect_set(log_time) as log_time_array
from music_iplay.dwd_user_action_impress_d
where dt='2021-10-11'
group by user_id;

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/320432.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号