NullPointerException nach dem Extrahieren einer Teradata-Tabelle mit Scala / Spark

8

Ich muss eine Tabelle von Teradata (nur Lesezugriff) auf Parkett mit Scala (2.11) / Spark (2.1.0) extrahieren. Ich baue einen Datenrahmen, den ich erfolgreich laden kann

%Vor%

Aber df.show gibt mir eine NullPointerException:

%Vor%

Ich habe df.printSchema gemacht und herausgefunden, dass der Grund für diese NPE darin liegt, dass das Dataset null -Werte für (nullable = false) Spalten enthält (es sieht so aus, als würde Teradata mir falsche Informationen geben). Tatsächlich kann ich df.show erreichen, wenn ich die problematischen Spalten ablege.

Also habe ich versucht, ein neues Schema anzugeben, bei dem alle Spalten auf (nullable = true) :

gesetzt sind %Vor%

Aber dann habe ich:

%Vor%

Ich habe auch versucht, einen neuen Datenrahmen aus dem vorherigen zu erstellen, indem ich das gewünschte Schema spezifiziere:

%Vor%

Aber ich habe immer noch eine NPE, wenn ich Maßnahmen am Datenrahmen ergreife.

Irgendeine Idee, wie ich das beheben könnte?

    
RaphDG 29.08.2017, 08:07
quelle

1 Antwort

1

Ich denke, das ist in Teradata letzte Version Gläser gelöst, Nach all den Recherchen habe ich meine Teradata Gläser (Terajdbc4.jar und tdgssconfig.jar) Version auf 16.20.00.04 aktualisiert und die Teradata-URL geändert

%Vor%

Das funktioniert, nachdem ich die Teradta-URL-Eigenschaften hinzugefügt habe COLUMN_NAME = ON, MAYBENULL = ON

Jetzt funktioniert alles gut.

Sie können das Referenzdokument hier überprüfen

Ссылка

    
Lakshman 23.02.2018 10:00
quelle