今天spark在写数据到hive中出现错误


Job aborted due to stage failure: Task 7 in stage 5.0 failed 4 times, most recent failure: Lost task 7.3 in stage 5.0 (TID 68,
NM-304-SA5212M4-BIGDATA-2016-356.BIGDATA.CHINATELECOM.CN):
java.lang.UnsatisfiedLinkError: org.apache.hadoop.util.NativeCodeLoader.buildSupportsSnappy()Z
at org.apache.hadoop.util.NativeCodeLoader.buildSupportsSnappy(Native Method)
at org.apache.hadoop.io.compress.Codec.checkNativeCodeLoaded(SnappyCodec.java:63)
at org.apache.hadoop.io.compress.SnappyCodec.getCompressorType(SnappyCodec.java:133)
at org.apache.hadoop.io.compress.CodecPool.getCompressor(CodecPool.java:148)
at org.apache.hadoop.io.compress.CompressionCodec$Util.createOutputStreamWithCodecPool(CompressionCodec.java:131)
at org.apache.hadoop.io.compress.SnappyCodec.createOutputStream(SnappyCodec.java:98)
at org.apache.hadoop.mapred.TextOutputFormat.getRecordWriter(TextOutputFormat.java:136)
at org.apache.spark.SparkHadoopWriter.open(SparkHadoopWriter.scala:91)
at org.apache.spark.rdd.PairRDDFunctions$$anonfun$saveAsHadoopDataset$1$$anonfun$13.apply(PairRDDFunctions.scala:1191)
at org.apache.spark.rdd.PairRDDFunctions$$anonfun$saveAsHadoopDataset$1$$anonfun$13.apply(PairRDDFunctions.scala:1183)
at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:66)
at org.apache.spark.scheduler.Task.run(Task.scala:89)
at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:227)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)

乍看之下,是Snappy压缩的问题。但是,在/etc/spark/conf下面的spark-default.conf里面已经配置了
extraClassPath
spark.driver.extraClassPath /usr/lib/hadoop/lib/*:/usr/lib/spark/hlib/*
spark.driver.extraLibraryPath /usr/lib/hadoop/lib/native/
spark.executor.extraClassPath /usr/lib/hadoop/lib/
spark.executor.extraLibraryPath /usr/lib/hadoop/lib/native/*

但是问题就出在这里,最后一行有个*号。
导致Snappy jar包重复,出现 这里写图片描述
可以看到,有个duplicate的字样,说明有上传重复的的文件。去掉*号,正常运行,不再报错

今天spark在写数据到hive中出现错误 Job aborted due to stage failure: Task 7 in stage 5.0 failed 4 times, most recent failure: Lost task 7.3 in stage 5.0 (TID 68, NM-304-SA5212M4-BIGDATA-2016-356.BIGDATA.CHINATEL
java.lang.UnsatisfiedLinkError: no snappy java in java.library.path 我用的mac,在运行 spark 程序时遇到此问题。我使用的相关依赖包的版本如下: <scala.version>2.11.8</scala.version> <scala.binary.version>2.11</scal...
在使用 spark Mllib的时候,训练好的模型save之后,在线service需要load加载该模型,实现线上预测。     实际加载load的时候,抛出异常: Native snappy library not available: this version of lib hadoop was built without snappy support 查了下,发现是因为Hado...
有一种方式是指定java.library.path的路径,但是不太好 最好的方式是使用依赖管理的方式更换 snappy 版本。 在你的pom文件里面加入如下内容,统一管理 snappy 的版本 <dependencyManagement> <dependencies> <dependency> <groupId> org .xerial. snappy </groupId> <artif
解决 Hadoop 运行时的WARN util . Native Code Loader : Unable to load native - hadoop library for your platform
每次运行 hdfs 命令时,都会 出现 下图的警告: 问题:每次运行 hdfs 命令时,都会 出现 下图的警告: WARN util . Native Code Loader : Unable to load native - hadoop library for your platform… using builtin –java classes where applicable 原因: native - hadoop library本地库不一致导致了该问题的 出现 : 解决方法: hadoop 的一些不兼容性,需要通过编译对应 hadoop 版本
hadoop 的学习 经常会 出现 不同的问题,今天对一些问题进行汇总。 问题一: org . apache . hadoop . util . Native Code Loader : Unable to load native - hadoop library for your platform... using builtin-java classes where applicable 在安装好VM以及Linux
您好!flink 数据 hdfs 需要以下两个依赖: 1. org . apache .flink:flink-core:这个依赖包含了Flink的核心API和运行时环境,需要在应用程序 添加。 2. org . apache .flink:flink- hadoop -fs:这个依赖包含了与 Hadoop 兼容的文件系统和文件系统API,需要在应用程序 添加。 希望能够帮到您!