Я хочу загрузить данные из файлов json, но получаю следующее исключение: AnalysisException: обнаружены дублирующиеся столбцы в схеме данных: hour
, eventTime
, это мой код
ss.sqlContext.setConf("spark.sql.caseSensitive", "true")
val pathList = buildFilePath(eid, url, startTime, endTime)
println(pathList)
val writePath = "/result/" + id + "/" + eid
ss.read
.json(pathList: _*)
.select(columns.split(",").map(m => new Column(m.trim)): _*)
.repartition(1)
.write.option("header", "true").csv(writePath)
ss.close()
def buildFilePath(eid: String, urls: String, startTime: String, endTime: String): List[String] = {
var eventPath = ""
if (eid.equals("1")) {
eventPath = basePath + "/event1"
} else if (eid.equals("2")) {
eventPath = basePath + "/event2"
}
urls
.split(",")
.flatMap(url => {
val dateList = getTimeRange(startTime, endTime, "yyyy-MM-dd")
dateList
.par
.map(date => eventPath + "/" + url.trim + "/" + date)
.flatMap(p => Hdfs.files(p).flatMap(f => Hdfs.files(f)))
})
.map(m => m.toString)
.toList
}