【问题标题】:setting compression on hive table在 hive 表上设置压缩
【发布时间】:2015-08-07 00:30:40
【问题描述】:

我有一个基于 avro 架构的配置单元表。该表是使用以下查询创建的

CREATE EXTERNAL TABLE datatbl PARTITIONED BY (date String, int time) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe' WITH SERDEPROPERTIES ( 'avro.schema.url'='path to schema file on HDFS') STORED as INPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerOutputFormat' LOCATION '<path on hdfs>'

到目前为止,我们一直在通过设置以下属性将数据插入到表中

hive> set hive.exec.compress.output=true; hive> set avro.output.codec=snappy;

但是,如果有人忘记设置上述两个属性,则无法实现压缩。 我想知道是否有一种方法可以对表本身强制压缩,这样即使没有设置上述两个属性,数据也总是被压缩?

【问题讨论】:

    标签: hive compression hiveql avro snappy


    【解决方案1】:

    是的,您可以在表格中设置属性。 请尝试以下操作:

     CREATE EXTERNAL TABLE datatbl PARTITIONED BY (date String, int time)  
     ROW FORMAT SERDE   'org.apache.hadoop.hive.serde2.avro.AvroSerDe'  
     WITH SERDEPROPERTIES (   'avro.schema.url'='path to schema file on
     HDFS')   STORED as INPUTFORMAT  
     'org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat'  
     OUTPUTFORMAT  
     'org.apache.hadoop.hive.ql.io.avro.AvroContainerOutputFormat' LOCATION
     '<path on hdfs>'
     TBLPROPERTIES ( "orc.compress"="SNAPPY" );
    

    【讨论】:

    • @VikasSaxena 是的!您可以执行相同的设置: STORED AS ORC tblproperties ("orc.compress"="ZLIB") 即使它是一个 ORC 表。看看这个:hadoopist.wordpress.com/2015/01/03/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 2011-11-06
    • 1970-01-01
    • 2010-11-22
    • 2019-05-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多