每个公司内部都有一套自己的架子,一般新人来了就直接在已有的架子上开发业务。
以下仅仅作为记录下自己使用的架子,可以根据需要参考。
1. 大数据项目结构
项目的整体组织结构

| 目录 | 说明 |
|---|---|
| annotation | 自定义注解Runner和Task。 |
| app | 用来放整个项目的各个任务。 test1和test2是具体开发的业务任务。 |
| base | BaseRunner和BaseTask是两个基础类 |
| enums | 用来定义任务的别名 |
| FeatureContextApp | 主类在目录中的位置保持不变,如果移动,会影响扫描task和Runner |
2. 类说明
2.1 公共接口类
package com.king.ml.base
import com.king.ml.enums.TaskNameEnum
import org.apache.spark.SparkConf
import org.apache.spark.internal.Logging
import org.apache.spark.sql.SparkSession
import org.joda.time.DateTime
import org.springframework.util.StopWatch
import scala.util.{
Failure, Success, Try}
trait BaseTask extends Logging with Serializable {
def taskName: TaskNameEnum.Value
def initConf(sparkConf: SparkConf = new SparkConf()): SparkConf

最低0.47元/天 解锁文章
833

被折叠的 条评论
为什么被折叠?



