前言
spark 在读取和落地CSV的时候 也是一门学问,一面有很多的注意细节以及小技巧可以使用。
参考资料:https://github.com/databricks/spark-csv (这里涵盖了csv的option参数)
1、读取
2、落地
1、落地的时候为null的会落成""
我在我们做BI 这边也有这种场景,就是dataset中为null的数据然后落地会为"".比如一个dataset show 出来的数据时
3,null,5
如果 .csv 直接落地的话 落地结果时3,"",5。这样就会有一个问题如果hive使用的时候,""的对应的为int 等类型的时候就会出现识别不出来的情况。
所以落地结果为3,,5更合理,适用也更广。
所以 在落地的时候加上参数option("emptyValue",""),类似
frame.write.option("emptyValue","").csv("demo")
这样出来的结果就是 3,,5了
网友评论