2016-08-01 15 views
0

Ich versuche, DataFrame Inhalte zu filtern, mit Sparks 1.5 Methode dropDuplicates(). Verwenden Sie es mit vollständig mit Daten gefüllten Tabellen (ich meine keine leeren Zellen) gibt korrekte Ergebnisse, aber wenn meine CSV-Quelle leere Zellen enthält (Ich werde Ihnen Quelldatei zur Verfügung stellen) - Spark throw ArrayIndexOutOfBoundsException. Was mache ich falsch? Ich habe das Lernprogramm zu Spark SQL und DataFrames für Version 1.6.2 gelesen. Es beschreibt die DataFrame-Operationen nicht im Detail. Ich lese auch das Buch "Learning Spark. Blitzschnelle Big Data Analysis.", Aber es ist für Spark 1.5 geschrieben und Operationen, die ich brauche, sind dort nicht beschrieben. Ich bin froh, Erklärung entweder Link zum Handbuch zu erhalten. Danke.Apache Spark SQL-Kontext dropDuplicates

+0

Was erwarten Sie sonst noch? Sie deklarieren eine Anzahl von Feldern, wenn sie nicht übereinstimmen, erhalten Sie eine Ausnahme. Dies ist das erwartete Verhalten. Filtern Sie einfach fehlerhafte Daten aus. – zero323

+0

Was meinst du es nicht? Ich habe die Spalte "Nachname". Ich erwarte, dass Spark Zeilen, die Duplikate sind, gemäß dieser Spalte, wie in JavaDoc geschrieben, filtert. BTW, hier ist meine [CSV-Datei] (http://pastebin.com/NgE6NU8A) –

Antwort

0

Die Sende-Liste anstelle von Objekt [] ergibt sich als Erstellungszeile, die 1 Spalte mit einer Liste enthält. Das habe ich falsch gemacht.