源码目录结构
Linkis层级目录结构解释,如果您想详细Linkis,请查看Linkis的相关架构设计文档
├─assembly├─bin├─conf├─core //核心抽象,里面放有所有的公用模块│ ├─cloudModule //微服务必须引入的模块,内嵌Jetty + WebSocket + SpringBoot + Jersey│ ├─cloudMybatis //SpringCloud的Mybatis模块│ ├─cloudProtocol //通用协议,如Entrance与Engine的RPC通信│ ├─cloudRPC //RPC模块,基于Feign实现的复杂双向通信│ ├─common //通用模块,内置很多通用工具类│ ├─httpclient //Java SDK顶层接口│ └─scheduler //通用调度模块├─db //数据库信息├─docs //所有文档├─eurekaServer //Eureka模块├─extensions //插件│ └─spark-excel //spark支持excel转DF/DF导成excel的插件├─gateway //网关模块│ ├─core //网关核心实现,包括前端接口的鉴权/解析/路由│ ├─gateway-httpclient-support //gateway对Java SDK的支持│ ├─gateway-ujes-support //对UJES接口的解析和路由支持│ └─springcloudgateway //引入spring cloud gateway,前端请求都从这里拦截├─publicService //公共服务│ ├─application //应用模块│ ├─bin│ ├─conf│ ├─configuration //参数模块,各引擎参数从这里获取│ ├─database //提供Hive元数据查询服务│ ├─query //提供Job Manager和Job History│ ├─udf //UDF模块│ ├─variable //用户自定义变量模块│ └─workspace //工作空间模块,管理用户脚本├─resourceManager //资源管理服务│ ├─resourcemanagerclient //资源管理客户端│ ├─resourcemanagercommon //通用模块│ └─resourcemanagerserver //资源管理服务端├─storage //统一存储服务│ ├─pesIO //远程存储服务│ │ ├─io-engine //远程存储的engine端,实际访问底层存储端│ │ ├─io-enginemanager //远程存储的engineManger│ │ └─io-entrance //远程存储的请求入口│ └─storage //统一存储的对外统一接口└─ujes //统一作业执行服务│ ├─client //Java SDK,用户通过Client可直接访问Linkis │ ├─definedEngines //已经实现的引擎 │ │ ├─hive //Hive引擎│ │ │ ├─engine //实际对接底层Hive的engine执行端│ │ │ ├─enginemanager│ │ │ └─entrance │ │ ├─pipeline //导入导出引擎,用于存储系统之间互导│ │ │ ├─engine│ │ │ ├─enginemanager│ │ │ └─entrance│ │ ├─python //单机版Python引擎│ │ │ ├─engine //实际对接底层Python的engine执行端│ │ │ ├─enginemanager│ │ │ └─entrance│ │ ├─spark //spark引擎│ │ │ ├─engine //实际对接底层Spark的engine执行端│ │ │ ├─enginemanager │ │ │ └─entrance │ │ └─tispark //TiSpark引擎,实际对接TiSpark的engine端│ ├─engine //通用底层engine模块 │ ├─enginemanager //通用底层enginemanager模块 │ ├─entrance //通用底层entrance模块 │ └─entranceclient //简化版的entrance