hive如何开启lzo压缩

这篇文章给大家分享的是有关hive如何开启lzo压缩的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名申请、网络空间、营销软件、网站建设、南乐网站维护、网站推广。

hive开启lzo压缩

1.Hadoop安装lzo依赖并进行配置

涉及到jar包的编译以及core-site文件的配置

  • 可以在mapred-site文件中,设置是在map还是reduce端开启压缩。在这里只是设置mapreduce的压缩。hadoop和hive是可以单独设置的。

2. 在hive中开启压缩以及设置压缩方式

  • 在hive客户端中设置参数,开始hive的map或者reduce端的压缩。

    set mapred.output.compress=true;
    set hive.exec.compress.output=true;
    
    # 必须是LzopCodec才支持切片
    set mapred.output.compression.codec=com.hadoop.compression.lzo.LzopCodec;

3. 创建表指定InputFormat以及OutFormat

CREATE EXTERNAL TABLE ods_log (`line` string) PARTITIONED BY (`dt` string) 
STORED AS  
  INPUTFORMAT  'com.hadoop.mapred.DeprecatedLzoTextInputFormat'
  OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
LOCATION '/warehouse/gmall/ods/ods_log';
  • INPUTFORMAT 是指从表中读取时,支持从lzo文件中读取

  • OUTPUTFORMAT是指写入数据到文件,输入数据的格式

4. 上传数据到表中

load data inpath '/origin_data/gmall/log/topic_log/2020-06-14' into table ods_log partition(dt='2020-06-14');

将数据导入到hive中后,数据会保存在lzo文件中

5. 为lzo文件创建索引

hadoop jar /opt/module/hadoop-3.1.3/share/hadoop/common/hadoop-lzo-0.4.20.jar com.hadoop.compression.lzo.DistributedLzoIndexer /warehouse/gmall/ods/ods_log/dt=2020-06-14

感谢各位的阅读!关于“hive如何开启lzo压缩”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!


标题名称:hive如何开启lzo压缩
文章源于:http://scyanting.com/article/joccgh.html