https://github.com/WeBankFinTech/DataSphereStudio/
https://gitee.com/WeBank/DataSphereStudio
基于插拔式的集成框架设计,及计算中间件 Linkis ,可轻松接入上层各种数据应用系统,让数据开发变得简洁又易用。
在统一的 UI 下,DataSphere Studio 以工作流式的图形化拖拽开发体验,将满足从数据交换、脱敏清洗、分析挖掘、质量检测、可视化展现、定时调度到数据输出应用等,数据应用开发全流程场景需求。
DSS 通过插拔式的集成框架设计,让用户可以根据需要,简单快速替换 DSS 已集成的各种功能组件,或新增功能组件。
借助于 Linkis 计算中间件的连接、复用与简化能力,DSS 天生便具备了金融级高并发、高可用、多租户隔离和资源管控等执行与调度能力。
1 AppConn
- 应用连接器AppConn,定义了一套统一的前后台接入协议
- 总共分为三级规范(
- 一级 SSO 规范
- 二级组织结构规范
- 三级开发流程规范)
- 可以简单快速集成各种上层 Web 系统(让外部数据应用系统快速简单地接入)
- DSS 通过串联多个 AppConn,编排成一条支持实时执行和定时调度的工作流,用户只需简单拖拽即可完成数据应用的全流程开发。
2 apps组件
2.1 数据开发Scriptis
- 一款支持在线写SQL、Pyspark、HiveQL等脚本,执行的数据分析Web工具
- 支持UDF、函数、资源管控和智能诊断等企业级特性
2.2 数据可视化Visualis
- 支持拖拽式报表定义、图表联动、钻取、全局筛选、多维分析、实时查询等数据开发探索的分析模式
- 做了水印、数据质量校验等金融级增强
2.3 数据质量管理Qualitis
- 是一个支持多种异构数据源的质量校验、通知、管理服务的数据质量管理平台
- 用于解决业务系统运行、数据中心建设及数据治理过程中的各种数据质量问题
- 数据质量校验工具,提供数据完整性、正确性等数据校验能力
- 基于Spring Boot,依赖于Linkis进行数据计算
2.4 工作流调度Schedulis
- 支持常规的 Command Shell 和 Linkis(HadoopMR、 Hive、Spark、Sqoop、 Python)大数据任务;
- 支持特色的数据检查和工作流之间的依赖任务
- 支持完善的告警和工作流执行策略
- 提供多种类型的参数设置,动态全局变量和简单易用的UI
2.5 数据交换工具Exchangis
- 支持异构数据源之间的结构化和非结构化数据传输同步
- 抽象了一套统一的数据源和同步作业定义插件,允许用户快速接入新的数据源,并只需在数据库中简单配置即可在页面中使用
- 基于插件化的框架设计,及计算中间件 Linkis,Exchangis 可快速集成对接 Linkis 已集成的数据同步引擎,将 Exchangis 的同步作业转换成 Linkis 数据同步引擎的数据同步作业
- 支持对结构化及无结构化的异构数据源之间的数据传输的数据交换平台
2.6 数据Api服务DataApiService
- DSS目前支持将SQL脚本发布成数据服务API,分享给其他用户使用
- 业务用户可以在不用写代码和无大数据平台用户的情况下,设置参数,就可以执行数据服务的脚本,并直接浏览或者下载平台数据
- 数据API服务。可快速将SQL脚本发布为一个 Restful 接口,对外提供 Rest 访问能力
2.7 流式应用开发管理Streamis
- 基于 DataSphere Studio 的框架化能力,以及底层对接 Linkis 的 Flink 引擎,让用户低成本完成流式应用的开发、调试、发布和生产管理
- 以 Flink 为底层计算引擎,基于开发中心和生产中心隔离的架构设计模式,完全隔离开发权限与发布权限,隔离开发环境与生产环境,保证业务应用的高稳定性和高安全
- 流式应用开发管理工具。支持发布 Flink Jar 和 Flink SQL ,提供流式应用的开发调试和生产管理能力,如:启停、状态监控、checkpoint 等
2.8 一站式ML平台Prophecis
- 集成多种开源机器学习框架
- 具备机器学习计算集群的多租户管理能力
- 提供生产环境全栈化容器部署与管理服务
2.9 工作流任务调度平台Apache Dolphin Scheduler
- 具有强大用户界面的现代数据工作流编排平台
- 致力于解决数据管道中的复杂任务依赖关系
- 提供各种类型的现成作业
2.10 数据模型中心——DataModelCenter
2.11 UserGuide
- 包含帮助文档、新手指引、Dark模式换肤等。
2.12 DataModelCenter
- 数据模型开发和数据资产管理的能力
- 数仓规划包含主题域、数仓分层、修饰词等
- 数据模型开发包含指标、维度、度量、向导式建表等
- 数据资产打通 Apache Atlas,提供数据血缘能力
2.13.UserManager
- 自动初始化一个 DSS 新用户所必须的所有用户环境
- 包含:创建 Linux 用户、各种用户路径、目录授权等
2.14 Apache Airflow
- 支持将 DSS 工作流发布到 Apache Airflow 进行定时调度。
2.15 SendEmail
- 提供数据发送能力
- 所有其他工作流节点的结果集,都可以通过邮件进行发送
2. 16 EventCheck
- 提供跨业务、跨工程和跨工作流的信号通信能力。
2.17 计算中间件 Apache Linkis
- 通过提供 REST/WebSocket/JDBC/SDK 等标准接口
- 上层应用可以方便地连接访问 MySQL/Spark/Hive/Presto/Flink 等底层引擎
- Linkis 构建了一层计算中间件,方便上层应用与底层数据引擎之间的连接、治理和编排
3 DSS工作流节点
3.1 spark节点
分别支持sql、pyspark、scala三种方式执行spark任务,使用时只需将节点拖拽至工作台后编写代码即可
3.2 hive节点
hive节点支持sql方式执行hive任务,使用时只需将节点拖拽至工作台后编写hivesql代码即可
3.3 PY节点
python节点支持执行python任务,使用时只需将节点拖拽至工作台后编写python代码即可
3.4 shell节点
shell节点支持执行shell命令或者脚本运行,使用时只需将节点拖拽至工作台后编写shell命令即可
3.5 JDBC节点
jdbc节点支持以jdbc方式运行sql命令,使用时只需将节点拖拽至工作台后编写sql即可,注意需要提前在linkis console管理台配置jdbc连接信息
3.6 SendEmail节点等等
SendEmail节点一般作为工作流的最后一个节点,用于将工作流前面的结果信息进行发送,支持发送表格、文本、DashBoard、Display、图片等,用户在使用的时候直接选择想要发送的工作流节点即可
4 ws管理单元
- DSS以 Workspace 为管理单元,组织和管理各数据应用系统的业务应用
- 定义了一套跨数据应用系统的工作空间协同开发通用标准,并提供了用户角色管理能力
- 工作空间是DSS的基本组织结构,通过工作空间,可以将一个部门、一条业务线、一个产品的所有数据应用放入一个工作空间,用来管理相关的参与用户、角色、工程和应用组件等