以前看到一篇文字,用 看这个参数compressed,其实是看这个参数parquet.compression=SNAPPY,确认是否压缩格式
由于几张大表需要备份下线,由于有3T,单机磁盘空间问题,需要先压缩,下载本地,看了不少都比较复杂,了解有这个方面,测试还可以。
创建parquet table :
create table test.tabname(a int,b int) STORED AS PARQUET;
创建带压缩的parquet table:
create table test.tabname(a int,b int) STORED AS PARQUET TBLPROPERTIES('parquet.compression'='SNAPPY');
如果原来创建表的时候没有指定压缩,后续可以通过修改表属性的方式添加压缩:
ALTER TABLE tabname SET TBLPROPERTIES ('parquet.compression'='SNAPPY');
或者在写入的时候
set parquet.compression=SNAPPY;
3,298,780,751 9896342253 hdfs:///user/hive/warehouse/dwb.db/dwb_iot_ktv_data_md5_dd/ds=20211217
664,510,218 1993530654 hdfs:///user/hive/warehouse/test.db/test_dwb_iot_ktv_data_md5_dd_220508/ds=20211217
不过只会影响后续入库的数据,原来的数据不会被压缩,需要重跑原来的数据。
采用压缩之后大概可以降低到1/6的存储大小。
|