Saya memiliki masalah yang sangat mirip dengan sumber data Teradata, dan itu turun ke kolom nullability pada DataFrame tidak cocok dengan data yang mendasarinya (kolom memiliki nullable=false, tetapi beberapa baris memiliki nilai nol di bidang tertentu). Penyebab dalam kasus saya adalah Driver Teradata JDBC tidak mengembalikan metadata kolom yang benar. Saya belum menemukan solusi untuk ini.
Untuk melihat kode yang sedang dibuat (di mana NPE dilempar):
- import org.apache.spark.sql.execution.debug._
- panggil .debugCodegen() pada DataSet/DataFrame
Semoga membantu.