Ich habe einige Probleme beim Extrahieren von Features aus Rohdaten festgestellt.Fehler beim Extrahieren von Features (Funke)
Hier ist meine Daten:
25,Private,226802,11th,7,Never-married,Machine-op-inspct,Own-child,Black,Male,0,0,40,United-States,0
und hier ist mein Code:
val rawData = sc.textFile("data/myData.data")
val lines = rawData.map(_.split(","))
val categoriesMap = lines.map(fields => fields(1)).distinct.collect.zipWithIndex.toMap
Hier ist die Fehlerinfo:
Exception in thread "main" org.apache.spark.SparkException: Job aborted due to stage failure: Task 1 in stage 1.0 failed 1 times, most recent failure: Lost task 1.0 in stage 1.0 (TID 3, localhost): java.lang.ArrayIndexOutOfBoundsException: 1
ich die zweite Spalte extrahieren möchten als das kategorische Feature, aber es scheint, dass es die Spalte nicht lesen kann und zu ArrayIndexOutOfBoundsException führt. Ich habe viele Male versucht, aber immer noch kann das Problem nicht lösen.
val categoriesMap1 = lines.map(fields => fields(1)).distinct.collect.zipWithIndex.toMap
val labelpointRDD = lines.map { fields =>
val categoryFeaturesArray1 = Array.ofDim[Double](categoriesMap1.size)
val categoryIdx1 = categoriesMap1(fields(1))
categoryFeaturesArray1(categoryIdx1) = 1 }
Der Grund, warum Sie nicht zu lesen, vielleicht in der Lage ist, dass Ihre csv fehlende Werte haben könnte. Versuchen Sie, die Größe Ihrer Arrays nach der Teilung zu untersuchen – eliasah