4. hive parquet使用壓縮


1. 創建parquet table :

create table mytable(a int,b int) STORED AS PARQUET;

 

2. 創建帶壓縮的parquet table:

create table mytable(a int,b int) STORED AS PARQUET TBLPROPERTIES('parquet.compression'='SNAPPY');

 

3. 如果原來創建表的時候沒有指定壓縮,后續可以通過修改表屬性的方式添加壓縮:

ALTER TABLE mytable SET TBLPROPERTIES ('parquet.compression'='SNAPPY');

 

 

 


或者在寫入的時候

set parquet.compression=SNAPPY;

不過只會影響后續入庫的數據,原來的數據不會被壓縮,需要重跑原來的數據。

采用壓縮之后大概可以降低1/3的存儲大小。

 

 

-------------------------------------------------------- 合並 --------------------------------------------------------
-- set hive.execution.engine=tez;
-- set tez.queue.name=dtb_matter;
set hive.execution.engine=mr;
set mapred.job.queue.name=dw;
set hive.exec.parallel=true;
set hive.exec.dynamic.partition=true;
set hive.exec.dynamic.partition.mode=nonstrict; 

drop table tmp_dim.dim_ch;
create table tmp_dim.dim_ch stored as parquet as
select 
 ...


-- 臨時表 保留7天分區
-- alter table dim.dim_tb_name drop partition (inc_day = '$[time(yyyyMMdd,-7d)]');

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM