Spark DataFrame [scala版] 实践小结
Spark DataFrame 使用注意事项
下面介绍的是使用Dataframe时 api 文档中没有写,但是需要注意的坑。
DataFrame API的使用
union()
union()
时需要保证两边的DataFrame字段顺序一样,这里还有一点需要注意,Spark DataFrame的union()
方法默认是不会进行去重的,但是如果是spark sql的话 union是默认会去重的show()
很多时候我们在debug时会使用show()
来查看数据,但是对于大数据集使用show()是会降低性能的,所以不建议在生产环境中使用show()
- more api
DataFrame原生支持的API并不算丰富,DataFrameNaFunctions是对DataFrame的null value相关的api增强,可以使用如下流式调用:df.na.fill(value,Seq(column))
,更多是使用UDF,但是这里需要注意对于非常复杂的逻辑的,建议直接使用sql,因为可能会导致下面提到的stackoverflow。
关于Join
- 在DataFrame中对于同名列是会报错的,所以经常你需要使用alias或者withCloumnRename之类的来解决两个DataFrame重名的问题,但是如果对于join key是等值join的话,可以直接使用
Original: https://blog.csdn.net/You_are_my_Mr_Right/article/details/124841444
Author: Blue Wave
Title: Spark调优、DataFrame API使用、大表Join、动态分区
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/818198/
转载文章受原作者版权保护。转载请注明原作者出处!