蓝鲸bk-base基础计算平台源码预研

506 阅读2分钟
###### 数据开发服务(dataflow)
```
|- bk-base/src
  |- dataflow
    |- bksql                      # 数据开发计算逻辑SQL配置
      |- bksql-extend             # 提供一些工具类的SQL服务,比如获取SQL中的函数,获取SQL中的维度字段
      |- bksql-plugin-flinksql    # BKSQL适配FlinkSQL
      |- bksql-plugin-mlsql       # BKSQL支持MLSQL(平台自研的用于机器学习SQL语法)
      |- bksql-plugin-sparksql    # BKSQL适配SparkSQL
      |- distribution             # BKSQL打包的依赖lib目录和启动脚本的bin目录等
    |- codecheck           # 数据开发Code节点代码安全检查
    |- jobnavi             # 任务调度编排服务 
       |- jobnavi-api                       # 适配层内部协议API(Java)
       |- jobnavi-api-python                # 适配层内部协议API(Python)
       |- jobnavi-cmd-adaptor               # 命令行任务适配层
       |- jobnavi-common                    # 公共依赖模块
       |- jobnavi-flink-adaptor             # Flink任务适配层
       |- jobnavi-kubernetes-adaptor        # Kubernetes任务适配层
       |- jobnavi-log-aggregation           # 日志归档模块
       |- jobnavi-rpc                       # 内部RPC通信协议模块
       |- jobnavi-runner                    # 任务执行器模块
       |- jobnavi-scheduler                 # 调度器模块
       |- jobnavi-sparksql-adaptor          # SparkSQL离线任务适配层
       |- jobnavi-sparkstreaming-adaptor    # Spark Struct Streaming实时任务适配层
       |- jobnavi-tensorflow-adaptor        # Tensorflow任务适配层 
       |- jobnavi-workflow                  # 工作流任务适配层
    |- ucapi-service                 # Jobnavi适配层,用于多种类型任务轮训启动用
    |- unified-computing             # 统一计算层
       |- batch        # 离线计算相关功能,包含交互式SQL,周期性离线SQL等
       |- core         # 公共依赖功能
       |- metrics      # 数据流埋点指标
       |- one-code     # Code节点父类
       |- one-model    # 基于Spark MLlib实现的MLSQL后台逻辑
       |- python       # 统一计算层Python实现
       |- server       # 统一计算层的统一入口
       |- stream       # 实时计算相关功能,包含FlinkSQL,Flink Code
       |- udf          # 自定义函数功能实现
    |- yarn-service    # 获取Yarn上面所有Stream任务的Application信息,以及获取Yarn集群状态
      
```
DataFlow 一站式拖拽式在线 IDE,屏蔽底层多种计算引擎的复杂度,抽成开发门槛较低的 SQL 语法,同时支持多种不同计算任务的组合编排。

预研:ucapi-service

模块描述:用于数据开发服务,作为Jobnavi适配层,用于轮询多种类型任务是否启动成功。

1647944147(1).png 依赖模块:jobnavi-api,实现JobNaviTask接口

调用模块:主要用于api服务模块dataflow数据开发服务API里面使用,在任务触发的时候在请求流程回调轮询接口。

1)内置路由调用GraphViews的graphController

1647943305(1).png

2)通过触发DataDRFAPISet的create方法进行调用。

1647941136(1).png image.png

1647941789(1).png