请教一个关于hive存储格式和压缩格式的问题,关于压缩格式固定的问题

问题涉及到hive的四种存储格式textfile/orc/rcfile/parquet

  1.首先,我在创建hive表的时候,对于orc和parquet格式我可以分别使用tblproperties("orc.compress"="SNAPPY")和tblproperties("parquet.compression"="gzip")这类语句进行建表,例如:

create table apl(id1 string, id2 string) row format delimited fields terminated by ',' STORED AS PARQUET tblproperties ("parquet.compression"="lzo");

  这样子,我每次往hive表里插入数据后orc和parquet表对数据会自动压缩,这是我想要的。

  2.而对于textfile和rcfile存储格式的hive表,我没有找到类似的语句可以做到这样子。我最开始是使用以下语句来设置这两种的压缩格式的,类似于:

SET hive.exec.compress.output=true;
SET mapred.output.compress=true;
SET mapred.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec;

但是后来我发现这种形式来设置的话是只对当前session生效的,我一关闭shell重新打开,如果没有重新set这些值,那再插入数据就等于是没有压缩的,当然,我也不可能全局改文件设置这个压缩格式。

  3.所以,我现在想请教的就是对于textfile和rcfile这两种格式,有没有一种方法可以固定表的压缩格式,使得我不需要每次都去set呢?

阅读 1.1k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏