Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.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 从本地Spark中的S3读取文件时,cleaner线程中出现异常_Scala_Apache Spark_Amazon S3 - Fatal编程技术网

Scala 从本地Spark中的S3读取文件时,cleaner线程中出现异常

Scala 从本地Spark中的S3读取文件时,cleaner线程中出现异常,scala,apache-spark,amazon-s3,Scala,Apache Spark,Amazon S3,以下是我的类路径: aws-java-sdk-1.7.4.jar hadoop-aws-2.7.3.jar spark-sql-2.2.0.jar 以下代码可以正常工作: object MySparkJob { def main(args:Array[String]):Unit = { val conf = new SparkConf().setAppName("MySparkTest").setMaster("local[4]") val spark = new Spa

以下是我的类路径:

  • aws-java-sdk-1.7.4.jar
  • hadoop-aws-2.7.3.jar
  • spark-sql-2.2.0.jar
以下代码可以正常工作:

object MySparkJob {
  def main(args:Array[String]):Unit = {
    val conf = new SparkConf().setAppName("MySparkTest").setMaster("local[4]")
    val spark = new SparkContext(conf)
    ......all credentials config stuff here.......
    val input = spark.textFile("s3a://mybucket/access_2017-10-30.log_10.0.0.176.gz")
    val pageStats = input filter(_.contains("pagestat"))
    val parsedRecords = pageStats flatMap accessLogRecordToCaseClass
    val evIDs = parsedRecords map (_.evid)
    println("Size is " + evIDs.collect().toSet.size)
    spark.stop
  }
}
我使用
sbt clean compile run
运行作业

但在控制台中,我看到以下警告,其中包含异常:

17/11/10 15:22:28 WARN FileSystem: exception in the cleaner thread but it will continue to run
java.lang.InterruptedException
        at java.lang.Object.wait(Native Method)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164)
        at org.apache.hadoop.fs.FileSystem$Statistics$StatisticsDataReferenceCleaner.run(FileSystem.java:3063)
        at java.lang.Thread.run(Thread.java:748)

虽然这是一个警告,但我仍然想了解它为什么会发生。也许你们中的一些人在过去遇到过类似的事情,可以提出建议?

别担心;这只是在应用程序关闭时被告知停止的清理步骤。HADOOP-12829明确地将中断时的警告消息调低到“Cleaner thread interrupted,will stop”

我明白了。谢谢。不要害怕看源代码;我所做的是:跟踪堆栈跟踪,选择它,然后说“show git revision history for selection”“。出现的更改列表通常显示问题是否已在最新版本中修复,或者至少显示问题是什么。”