• 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)]');
  • 相关阅读:
    C++ STL中vector应用
    cocos2dx绘制直线
    [ios] 获得ios设备具体型号
    如何制作 iTunesArtwork
    Ios AppIcon 去掉默认半弧形白色遮罩
    App运行内存打印
    C++ 文件操作
    objc 笔记
    (转)c++ oc字符操作
    cocos2dx 文本 优化
  • 原文地址:https://www.cnblogs.com/LIAOBO/p/13625872.html
Copyright © 2020-2023  润新知