小编KyB*_*yBe的帖子

来自 sbt-assembly 的 FatJar 抛出 java.lang.NoClassDefFoundError

我正在尝试使用 spark 和 deepLearning4J 执行一个用 sbt-assembly 构建的胖罐子,不幸的是在执行过程中我遇到了线程“main”java.lang.NoClassDefFoundError 中异常:许多罐子的错误。我尝试使用 spark-submit 中的 --jars 选项添加 jar,但是当我添加 jar 时,我遇到了来自另一个依赖项的另一个类的相同错误。

如果我理解得很好,sbt-assembly 生成的 FatJar 应该可以防止这种问题,因为它包含所有需要的 jar。

我的 Scala 文件在myproject/src/main/scala/xxx/spark/yyy/

也许是由于合并策略?

如果有帮助,我加入我的 build.sbt 文件!

先感谢您。

name := "myproject"

version := "1.0"

scalaVersion := "2.10.4"

val sparkVersion = "1.6.2"

mainClass in assembly := Some("xxx.spark.yyy.Main")

resolvers += Resolver.sojava.lang.NoClassDefFoundErrornatypeRepo("releases")

resolvers += "Spark Packages Repo" at "https://dl.bintray.com/spark-packages/maven"

resolvers += "Akka Snapshot Repository" at "http://repo.akka.io/snapshots/"

resolvers += "Artifactory" at "http://artifacts.kameleoon.net:8081/artifactory/sbt/"

resolvers += "Sbt plugins" at "https://dl.bintray.com/sbt/sbt-plugin-releases"

resolvers …
Run Code Online (Sandbox Code Playgroud)

runtime-error sbt sbt-assembly apache-spark deeplearning4j

5
推荐指数
0
解决办法
1076
查看次数

尽管重新分区,但只能在每个分区中压缩具有相同数量元素的RDD

我加载了一个数据集

val data = sc.textFile("/home/kybe/Documents/datasets/img.csv",defp)
Run Code Online (Sandbox Code Playgroud)

我想在这个数据上放一个索引

val nb = data.count.toInt
val tozip = sc.parallelize(1 to nb).repartition(data.getNumPartitions)

val res = tozip.zip(data)
Run Code Online (Sandbox Code Playgroud)

不幸的是我有以下错误

Can only zip RDDs with same number of elements in each partition
Run Code Online (Sandbox Code Playgroud)

如果可能的话,我怎么能按分区修改元素的数量?

scala apache-spark rdd

4
推荐指数
1
解决办法
2785
查看次数

将Spark控制台重定向到文件中

根据要求,我想保留火花主日志的痕迹,以便在错误日志发生时保留它们。我知道在webUI上有工作人员登录,但是我不确定他们显示的错误与主服务器相同。

我发现我们必须修改conf / log4j.properties,但是我的尝试不起作用。

默认配置+添加文件:

# Set everything to be logged to the console
log4j.rootCategory=INFO, console, file
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.target=System.err
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n

# Settings to quiet third party logs that are too verbose
log4j.logger.org.spark-project.jetty=WARN
log4j.logger.org.spark-
project.jetty.util.component.AbstractLifeCycle=ERROR
log4j.logger.org.apache.spark.repl.SparkIMain$exprTyper=INFO
log4j.logger.org.apache.spark.repl.SparkILoop$SparkILoopInterpreter=INFO
log4j.logger.org.apache.parquet=ERROR
log4j.logger.parquet=ERROR

# SPARK-9183: Settings to avoid annoying messages when looking up 
nonexistent UDFs in SparkSQL with Hive support
log4j.logger.org.apache.hadoop.hive.metastore.RetryingHMSHandler=FATAL
log4j.logger.org.apache.hadoop.hive.ql.exec.FunctionRegistry=ERROR
Run Code Online (Sandbox Code Playgroud)

尝试设置文件

###Custom log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.fileName=/var/data/log/MasterLogs/master.log
log4j.appender.file.ImmediateFlush=true
## Set the append to false, overwrite
log4j.appender.file.Append=false
log4j.appender.file.MaxFileSize=100MB
log4j.appender.file.MaxBackupIndex=10
##Define …
Run Code Online (Sandbox Code Playgroud)

apache-spark

4
推荐指数
1
解决办法
1万
查看次数