操作snappy压缩的表时抛出:
java.lang.RuntimeException: native snappy library not available: this version of lib hadoop was built without snappy support.
原因: 是由于没有在java.library.path上加上snappy库
解决方法:修改spark-default.conf配置文件
加上: spark.executor.extraLibraryPath /ldata/Install/hadoop/lib/native
或者spark.executor.extraJavaOptions -Djava.library.path=/data/Install/hadoop/lib/native
如果spark任务是cluster模式,则需要在spark-default.conf参数里面配置上
spark.driver.extraLibraryPath /opt/cloudera/parcels/CDH/lib/hadoop/lib/native
spark.executor.extraLibraryPath /opt/cloudera/pa

当操作Snappy压缩的Hadoop表时遇到'java.lang.RuntimeException:nativesnappylibrarynotavailable'异常,原因是缺少Snappy库。解决方法包括在spark-default.conf配置文件中添加对应的library路径,例如spark.executor.extraLibraryPath或spark.driver.extraLibraryPath。确保在系统中存在libhadoop.so文件,并在java.library.path路径下。如果使用spark-submit,需通过--driver-library-path参数指定。执行前使用'hadoop checknative'检查系统支持情况。若libhadoop.so不在java.library.path路径下,需将其复制到对应目录。
最低0.47元/天 解锁文章
1614

被折叠的 条评论
为什么被折叠?



