Source Code Directory Structure
Linkis hierarchical directory structure explanation, if you want to detail Linkis, please check Linkis related architecture design documents
├─assembly
├─bin
├─conf
├─core //Core abstraction, which contains all common modules
│ ├─cloudModule //Modules that must be introduced by microservices, embedded Jetty + WebSocket + SpringBoot + Jersey
│ ├─cloudMybatis //Mybatis module of SpringCloud
│ ├─cloudProtocol //General protocol, such as RPC communication between Entrance and Engine
│ ├─cloudRPC //RPC module, complex two-way communication based on Feign implementation
│ ├─common //Common module, built-in many common tools
│ ├─httpclient //Java SDK top-level interface
│ └─scheduler //General scheduling module
├─db //Database information
├─docs //All documents
├─eurekaServer //Eureka module
├─extensions //plugin
│ └─spark-excel //spark supports excel to DF/DF to excel plug-in
├─gateway //Gateway module
│ ├─core //Gateway core implementation, including authentication/analysis/routing of front-end interfaces
│ ├─gateway-httpclient-support //gateway support for Java SDK
│ ├─gateway-ujes-support //Analysis and routing support for UJES interface
│ └─springcloudgateway //Introduce spring cloud gateway, front-end requests are intercepted from here
├─publicService //public service
│ ├─application //application module
│ ├─bin
│ ├─conf
│ ├─configuration //Parameter module, get the engine parameters from here
│ ├─database //Provide Hive metadata query service
│ ├─query //Provide Job Manager and Job History
│ ├─udf //UDF module
│ ├─variable //User-defined variable module
│ └─workspace //Workspace module, manage user scripts
├─resourceManager //Resource management service
│ ├─resourcemanagerclient //resource management client
│ ├─resourcemanagercommon //Common module
│ └─resourcemanagerserver //Resource management server
├─storage //Unified storage service
│ ├─pesIO //Remote storage service
│ │ ├─io-engine //The engine side of remote storage, which actually accesses the bottom storage side
│ │ ├─io-enginemanager //engineManger for remote storage
│ │ └─io-entrance //Request entry for remote storage
│ └─storage //Unified external interface for unified storage
└─ujes //Unified operation execution service
│ ├─client //Java SDK, users can directly access Linkis through Client
│ ├─definedEngines //Implemented engines
│ │ ├─hive //Hive engine
│ │ │ ├─engine //The engine execution end of the actual docking with the underlying Hive
│ │ │ ├─enginemanager
│ │ │ └─entrance
│ │ ├─pipeline //Import and export engine for mutual conduction between storage systems
│ │ │ ├─engine
│ │ │ ├─enginemanager
│ │ │ └─entrance
│ │ ├─python //stand-alone Python engine
│ │ │ ├─engine //The engine execution end that actually docks with the underlying Python
│ │ │ ├─enginemanager
│ │ │ └─entrance
│ │ ├─spark //spark engine
│ │ │ ├─engine //The actual connection to the engine execution end of the underlying Spark
│ │ │ ├─enginemanager
│ │ │ └─entrance
│ │ └─tispark //TiSpark engine, actually docking with TiSpark engine
│ ├─engine //General low-level engine module
│ ├─enginemanager //General low-level enginemanager module
│ ├─entrance //General low-level entrance module
│ └─entranceclient //Simplified version of entrance