尝试读取本地主机文件时出错。_Spark读写压缩文件API使用详解及部署在k8s

本文介绍了在Spark运行于Kubernetes(K8s)环境中,尝试读取远程Hadoop集群上LZO压缩文件时遇到的问题及解决方案。详细步骤包括在Alpine容器中安装LZO依赖,编译Hadoop-LZO本地库,以及在Dockerfile中配置和提交作业时指定所需文件。
摘要由CSDN通过智能技术生成

最近简单的研究了一下Spark on K8s,期间遇到了些许问题,在这里总结一下分享给大家。

环境介绍

hadoop集群:部署在实体机上

spark: k8s上

需求

要实现的功能是使用spark读取远程hadoop集群上的lzo文件

问题

使用Spark官方提供的DockerFile新建容器是没有问题的,但是由于我的测试环境的数据是lzo压缩文件,导致Spark读取数据时会报本地库的错误:

19/09/20 06:02:46 WARN LzoCompressor: java.lang.UnsatisfiedLinkError: Cannot load liblzo2.so.2 (liblzo2.so.2: cannot open shared object file: No such file or directory)!19/09/20 06:02:46 ERROR LzoCodec: Failed to load/initialize native-lzo library19/09/20 06:02:46 ERROR Executor: Exception in task 0.0 in stage 0.0 (TID 0)java.lang.RuntimeException: native-lzo library not available at com.hadoop.compression.lzo.LzopCodec.createDecompressor(LzopCodec.java:104) at com.hadoop.compression.lzo.LzopCodec.createInputStream(LzopCodec.java:89) at com.hadoop.mapreduce.LzoLineRecordReader.initialize
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值