主要观点:使用默认值替代‘null’是常见做法,Spark 的结构体字段可为空,DataFrame 也适用。通过设置默认值可处理数据查询,如找出播放时长小于 30 秒和大于 1 分钟且完成百分比大于等于 80%的播放记录,但复制代码存在弊端。可使用 DataFrameNaFunctions 减少样板代码,能在同一 DataFrame 的多个查询中设置相同默认值,避免代码重复。
关键信息:给出了带有特定字段和可空性的 DataFrame 示例,展示了设置默认值的两种方式及相应查询结果,强调了使用 DataFrameNaFunctions 的优势。
重要细节:创建 DataFrame 的方式、设置默认值的函数(如 coalesce 和 lit)、两个查询方法(getPlaysLessThan30seconds 和 getPlayGte1minuteWithCompletionPercentageGte80)的具体实现、DataFrameNaFunctions 的使用及效果等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。