Ich habe stattdessen ein sehr ähnliches Problem mit einer Teradata-Datenquelle, und es kam darauf an, dass die Spaltennullfähigkeit auf dem DataFrame nicht mit den zugrunde liegenden Daten übereinstimmte (die Spalte hatte nullable=false, aber einige Zeilen hatten Nullwerte in diesem bestimmten Feld). Die Ursache in meinem Fall war, dass der Teradata JDBC-Treiber nicht die richtigen Spaltenmetadaten zurückgab. Ich muss noch eine Problemumgehung dafür finden.
So sehen Sie den Code, der generiert wird (innerhalb dessen die NPE geworfen wird):
- importieren Sie org.apache.spark.sql.execution.debug._
- rufen Sie .debugCodegen() für das DataSet/DataFrame auf
Hoffe das hilft.