Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala Apache spark输出消息的前缀为[错误]_Scala_Apache Spark_Sbt - Fatal编程技术网

Scala Apache spark输出消息的前缀为[错误]

Scala Apache spark输出消息的前缀为[错误],scala,apache-spark,sbt,Scala,Apache Spark,Sbt,此字数按预期工作: System.setProperty("hadoop.home.dir", "H:\\winutils"); val sparkConf = new SparkConf().setAppName("GroupBy Test").setMaster("local[1]") val sc = new SparkContext(sparkConf) def main(args: Array[String]) { val text_file = sc.textFile("h:

此字数按预期工作:

System.setProperty("hadoop.home.dir", "H:\\winutils");

val sparkConf = new SparkConf().setAppName("GroupBy Test").setMaster("local[1]")
val sc = new SparkContext(sparkConf)

def main(args: Array[String]) {
  val text_file = sc.textFile("h:\\data\\small.txt")

  val counts = text_file.flatMap(line => line.split(" "))
      .map(word => (word, 1))
      .reduceByKey(_ + _)

  counts.foreach(println);
}
所有输出消息都以[错误]开头 例如:

[error] 16/03/17 12:13:58 INFO Utils: Successfully started service 'org.apache.spark.network.netty.NettyBlockTransferService' on por
[error] 16/03/17 12:13:58 INFO NettyBlockTransferService: Server created on 55715
[error] 16/03/17 12:13:58 INFO BlockManagerMaster: Trying to register BlockManager
[error] 16/03/17 12:13:58 INFO BlockManagerMasterEndpoint: Registering block manager localhost:55715 with 1140.4 MB RAM, BlockManage
[error] 16/03/17 12:13:58 INFO BlockManagerMaster: Registered BlockManager
我可以使用以下方法防止显示这些错误消息:

import org.apache.log4j.Logger
import org.apache.log4j.Level

Logger.getLogger("org").setLevel(Level.OFF)
Logger.getLogger("akka").setLevel(Level.OFF)
但这并不能解决问题

[错误]不应显示,因为这些不是错误消息,而是信息:

[error] 16/03/17 12:13:58 INFO Utils: Successfully started service 'org.apache.spark.network.netty.NettyBlockTransferService' on por
[error] 16/03/17 12:13:58 INFO NettyBlockTransferService: Server created on 55715
[error] 16/03/17 12:13:58 INFO BlockManagerMaster: Trying to register BlockManager
[error] 16/03/17 12:13:58 INFO BlockManagerMasterEndpoint: Registering block manager localhost:55715 with 1140.4 MB RAM, BlockManage
[error] 16/03/17 12:13:58 INFO BlockManagerMaster: Registered BlockManager
更新:


为什么[错误]消息显示为非错误?

这些不是Spark标签,而是sbt标签。在Spark的默认
log4j
config文件中,您可以找到:

log4j.appender.console.target=System.err

因此,默认情况下,它将打印到控制台中的
stderr

运行
配置中,您可能正在将
fork
设置为
true
。执行此操作时,在sbt中打印到
stderr
的所有内容都以
[错误]
作为前缀


您应该能够使用。

这些不是Spark标签,而是sbt标签。在Spark的默认
log4j
config文件中,您可以找到:

log4j.appender.console.target=System.err

因此,默认情况下,它将打印到控制台中的
stderr

运行
配置中,您可能正在将
fork
设置为
true
。执行此操作时,在sbt中打印到
stderr
的所有内容都以
[错误]
作为前缀


您应该能够通过设置Logger.getLogger(“org”).setLevel(Level.OFF)Logger.getLogger(“akka”)来控制它。setLevel(Level.OFF)只会使错误消息不显示。它不会处理问题,但“杀死messanger”您是否尝试过设置级别(Level.Warn)?@Zahiro Mor它不会处理问题,正如我所说的“但这并不能解决问题”。我的问题是为什么会出现[错误]消息显示为非错误?您是从IDE运行还是通过spark submit运行?MateuszDymczyk通过sbt运行:“运行”设置Logger.getLogger(“org”).setLevel(Level.OFF)Logger.getLogger(“akka”)。setLevel(Level.OFF)只会使错误消息不显示。它不会处理问题,但“杀死messanger”您是否尝试过设置级别(Level.Warn)?@Zahiro Mor它不会处理问题,正如我所说的“但这并不能解决问题”。我的问题是为什么会出现[错误]消息显示为非错误?您是从IDE运行此消息还是通过spark submit?@MateuszDymczyk通过sbt运行:“运行”