千家信息网

hive如何开启lzo压缩

发表于:2025-02-06 作者:千家信息网编辑
千家信息网最后更新 2025年02月06日,这篇文章给大家分享的是有关hive如何开启lzo压缩的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。hive开启lzo压缩1.Hadoop安装lzo依赖并进行配置涉及到jar
千家信息网最后更新 2025年02月06日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压缩"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

0