Ich fange an, mit Spark 2.0.1 zu spielen. Die neue Dataset API ist sehr sauber, aber ich habe Probleme mit sehr einfachen Operationen.Spark 2.0.1 java.lang.NegativeArraySizeException
Vielleicht vermisse ich etwas, hoffe jemand kann helfen.
Diese Anweisungen
SparkConf conf = new SparkConf().setAppName("myapp").setMaster("local[*]");
SparkSession spark = SparkSession
.builder()
.config(conf)
.getOrCreate();
Dataset<Info> infos = spark.read().json("data.json").as(Encoders.bean(Info.class));
System.out.println(infos.rdd().count());
produzieren eine
java.lang.NegativeArraySizeException
und einen fatalen Fehler durch die JVM erkannt (1.8).
Arbeiten an den Daten mit Dataset api (d. H. Wählt, zählen auf Infos-Objekt) funktioniert gut.
Wie kann ich zwischen Dataset und RDD wechseln?
Vielen Dank für Ihre Antwort. Problem ist, dass spark.read() und andere Anweisungen Bibliotheksaufrufe sind, dh ich habe gerade die Bibliothek verwendet, ohne benutzerdefinierten Code, außer für Info.class. – besil
können Sie weitere Details wie Ihre JSON, komplette Fehler-Stack-Trace und Info-Modell-Objekt usw. einfügen ... –