加载 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 标头无效(签名错误)的主要内容,如果未能解决你的问题,请参考以下文章