我使用apache spark 1.3.1与hadoop 2.6库。我也使用了s3a协议。我的作业从s3桶中读取数据,对其进行解析,然后将parquet文件写入另一个桶。它工作得很好,除了任务在完成时挂起并且永远不会退出。任何想法是什么原因导致这一点,有一个资源,我需要关闭?
代码非常基本:
val log: RDD[String] = sc.textFile("s3a://whatever/txt")
val records: RDD[MyRecord] = log.flatMap(parse)
records.toDF.saveAsParquetFile("s3a://something/else")
logInfo("Done")
一切顺利完成,然后我的工作就挂了。
所以我们通过将hadoop-aws jar从2.6.0升级到2.7.1来解决这个问题