昨天在跑的时候发现一个问题,因为在本地的spark版本号为spark 2.4, 集群上的为spark 2.1,代码在spark2.4跑挺好,在spark2.1跑不起来。
用sparkSession读完csv文件,对列进行过滤,在spark2.4,可见"is_claim"已经被过滤掉。
然鹅,在spark2.1中,此列并无法过滤,赫然在列!
究其原因,碰巧无奈在一次打印feature_cols的时候,发现此列较其他列多了一位空格,并不是真的空格,是BOM字节流标记----- \uFEFF。
这并不是ide设置或者是excel编译转译出问题,是spark读取csv的时候出问题。
解决方案1,