0003-如何在CDH中使用LZO压缩

本文详细介绍了在CDH中如何配置Lzo压缩编码,包括下载Parcel包、配置HDFS压缩编码等步骤,确保Hadoop组件能正确读取和处理Lzo格式的数据。

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。

1.问题描述

CDH中默认不支持Lzo压缩编码,需要下载额外的Parcel包,才能让Hadoop相关组件如HDFS,Hive,Spark支持Lzo编码。

具体请参考:

https://www.cloudera.com/documentation/enterprise/latest/topics/cm\_mc\_gpl\_extras.html

https://www.cloudera.com/documentation/enterprise/latest/topics/cm\_ig\_install\_gpl\_extras.html#xd\_583c10bfdbd326ba-3ca24a24-13d80143249--7ec6

首先我在没做额外配置的情况下,生成Lzo文件并读取。我们在Hive中创建两张表,test_table和test_table2,test_table是文本文件的表,test_table2是Lzo压缩编码的表。如下:

通过beeline访问Hive并执行上面命令:

0003-如何在CDH中使用LZO压缩

0003-如何在CDH中使用LZO压缩

0003-如何在CDH中使用LZO压缩

查询test_table中的数据:

0003-如何在CDH中使用LZO压缩

将test_table中的数据插入到test_table2,并设置输出文件为lzo压缩:

在Hive中执行报错如下:

0003-如何在CDH中使用LZO压缩

通过Yarn的8088可以发现是因为找不到Lzo压缩编码:

0003-如何在CDH中使用LZO压缩

2.解决办法

通过Cloudera Manager的Parcel页面配置Lzo的Parcel包地址:

0003-如何在CDH中使用LZO压缩

注意:如果集群无法访问公网,需要提前下载好Parcel包并发布到httpd

下载->分配->激活

0003-如何在CDH中使用LZO压缩

0003-如何在CDH中使用LZO压缩

0003-如何在CDH中使用LZO压缩

0003-如何在CDH中使用LZO压缩

0003-如何在CDH中使用LZO压缩

配置HDFS的压缩编码加入Lzo:

0003-如何在CDH中使用LZO压缩

0003-如何在CDH中使用LZO压缩

保存更改,部署客户端配置,重启整个集群。

0003-如何在CDH中使用LZO压缩

0003-如何在CDH中使用LZO压缩

等待重启成功:

0003-如何在CDH中使用LZO压缩

再次插入数据到test_table2,设置为Lzo编码格式:

插入成功:

0003-如何在CDH中使用LZO压缩

2.1 Hive验证

首先确认test_table2中的文件为Lzo格式:

0003-如何在CDH中使用LZO压缩

在Hive的beeline中进行测试:

0003-如何在CDH中使用LZO压缩

0003-如何在CDH中使用LZO压缩

Hive基于Lzo压缩文件运行正常。

2.2 Spark SQL验证

0003-如何在CDH中使用LZO压缩

SparkSQL基于Lzo压缩文件运行正常。

醉酒鞭名马,少年多浮夸! 岭南浣溪沙,呕吐酒肆下!挚友不肯放,数据玩的花!

0003-如何在CDH中使用LZO压缩

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。

转载于:https://blog.51cto.com/14049791/2316621

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值