AnalysisException: обнаружены повторяющиеся столбцы в схеме данных: `hour`,` eventTime` - PullRequest
0 голосов
/ 11 октября 2019

Я хочу загрузить данные из файлов 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

}

1 Ответ

0 голосов
/ 12 октября 2019

Вопрос решен. из-за загрузки нескольких файлов, это необходимо сделать: .json(ss.read.textFile(pathList: _*))

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...