来自于编码、Code Review、同事讨论的一些思考总结,详见此附件 spark_scala_practices-xinyanlu。
附每页标题摘要:
简洁代码(使用 implicit parameter)
简洁代码(使用 implicit class)
代码简洁(使用 apply)
代码简洁(少写括号)
代码简洁(多用简写)
多用 val,尽量避免用 var
样例:使用 val 替代 var
不使用 getXx / setXx 操作属性
使用 package object
使用 Option,不要自定义错误符
使用 lazy val
需要抛异常的时候就坚决抛异常
善用 Intellij Idea 和 scalafmt 插件
用模式匹配来注释 RDD 里的元组
写数据之前,先删 HDFS 目录
选择 Persist RDD 的 StorageLevel
大胆使用 groupByKey
减少需要输入的命令行参数
样例:使用 TypeSafe 的 Config Library
不要随意新增第三方库依赖