加载 BytesWritable 时出现 Spark Scala 错误,LOC 标头无效(签名错误)

Posted

技术标签:

【中文标题】加载 BytesWritable 时出现 Spark Scala 错误,LOC 标头无效(签名错误)【英文标题】:Spark Scala error while loading BytesWritable, invalid LOC header (bad signature) 【发布时间】:2017-02-14 08:41:55 【问题描述】:

使用sbt package出现以下错误

加载 BytesWritable 时 Spark Scala 错误,无效 LOC 标头(错误签名)

我的代码是

....
import org.apache.spark.SparkContext
import org.apache.spark.SparkContext._
import org.apache.spark.SparkConf
......

object Test
    def main(args: Array[String]) 
    val conf = new SparkConf().setAppName("Test")
    val sc = new SparkContext(conf) // the error is due by this 
    ...... 
    

【问题讨论】:

你能提供一个堆栈跟踪吗? 【参考方案1】:

请重新加载您的 JAR 和/或库依赖项,因为它们在通过 sbt 构建 jar 时可能已损坏 - 可能是它们的更新之一出现问题。第二种选择是您打开了太多临时文件,如果有任何作业挂起并杀死它们,请检查 master 上的 4040-9 端口,如果有,您还可以检查如何增加您在 linux 上打开的文件:/etc/security/limits.conf where @ 987654322@ ***** 和 soft nofile ***** 然后重启和ulimit -n ****

【讨论】:

【参考方案2】:

我使用的是 spark-mllib_2.11,它给了我同样的错误。我不得不使用 Spark MLIB 2.10 版来摆脱它。

使用 Maven:

<artifactId>spark-mllib_2.10</artifactId>

【讨论】:

以上是关于加载 BytesWritable 时出现 Spark Scala 错误,LOC 标头无效(签名错误)的主要内容,如果未能解决你的问题,请参考以下文章

加载自动加载文件时出现“无法打开加载文件”错误

加载 Bigquery 表时出现内部错误

加载 .dae 文件时出现问题,索引和顶点加载正确

加载自定义视图时出现 NSInternalInconsistencyException [关闭]

“过滤”急切加载的数据时出现问题

尝试加载 css 字体时出现 mime 类型错误