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”“。出现的更改列表通常显示问题是否已在最新版本中修复,或者至少显示问题是什么。”