我有一个自定义spark数据源,其中包含从java库提供的数据。某些字段是ArrayType,偶尔为NULL。我已经尝试将数组字段设置为None,null,lit(null),Option(null)以及可能的其他几个变体,并且在尝试解析数组字段时催化剂会抛出NPE。
尽管我已经知道,Catalyst并没有在ArrayConverter的toCatalystImpl()方法中检查null(来自CatalystTypeConverters.scala)。这是一个Catalyst错误,还是对数据框ArrayType字段有其他一些空编码?
答案 0 :(得分:0)
我的不好,我找到了问题(黑客攻错了一段代码)。最终的答案似乎是" Option(null)"。我尝试了None并点燃了(null :),但两者都抛出异常。