Невозможно загрузить файл CSV в качестве фрейма данных в спарк - PullRequest
0 голосов
/ 31 декабря 2018

Я пытаюсь загрузить файл CSV во фрейм данных, и моя цель состоит в том, чтобы отобразить первую строку в качестве имени столбца файла CSV.но при использовании приведенного ниже кода я получаю сообщение об ошибке

Exception in thread "main" java.lang.AbstractMethodError
    at scala.collection.TraversableLike$class.filterNot(TraversableLike.scala:278)

Код:

def main(args : Array[String]): Unit = {
 val spark : SparkSession = SparkSession
      .builder()
      .master("local")
      .appName("SparkSessioncsvExample")
      .config("spark.some.config.option", "some-value")
      .getOrCreate()
   val df = spark.read
      .format("csv")
      .option("header", "true") //reading the headers
      .load("D:/Scala/C2ImportCalEventSample.csv")}

Но я могу загрузить файл с кодом:

val df = spark.sparkContext
        .textFile("D:/Scala/C2ImportCalEventSample1.csv")
        //.flatMap(header='true')
        .map(line => line.split(","))
        // .map(line => line.map()
        .toDF()

, но во втором файле кода успешно загружается, но первая строка не получает как column_name фрейма данных.

spark version is: spark-2.3.2  
scala 2.11.3  
jdk1.8.0_20
sbt-1.2.7

Спасибо всем, кто может мне помочьна этом.

1 Ответ

0 голосов
/ 01 января 2019

java.lang.AbstractMethodError почти всегда означает, что у вас есть разные библиотеки на пути к классам, чем во время компиляции.В этом случае я бы проверил, чтобы у вас была правильная версия Scala (и только одна версия scala) на пути к классам.

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