This commit is contained in:
nezharen 2024-04-10 10:48:00 +08:00
parent 01658efac1
commit 795481c8d5
1 changed files with 20 additions and 0 deletions

View File

@ -8,3 +8,23 @@
该系统可以降低大数据处理的整体延迟、并可节省大数据处理的成本;
同时能够无缝部署在现有Apache Spark环境中部署简单。因此大数据智能分析系统具有显著的应用前景。
大数据智能分析系统支持x64和aarch64架构已在国产鲲鹏和飞腾服务器完成验证。
![jydata](https://osredm.com/repo/jiuyuan/jydata/raw/branch/master/images/jydata.png "jydata")
jydataSQL通过在C++上实现DataFrame编程接口融合jydata过程式编程框架与原生SQL执行引擎。jydataSQL的原生SQL执行引擎采用代码生成器替换的方法将SparkSQL的代码生成器替换成jydataSQL的代码生成器。具体而言SparkSQL的代码生成器面向的是Tungsten执行引擎而jydataSQL的代码生成器面向的是jydata。这种构建原生SQL执行引擎的方式可以在对齐SparkSQL的查询能力的基础上原生加速SparkSQL。
![jydataSQL_workflow](https://osredm.com/repo/jiuyuan/jydata/raw/branch/master/images/jydataSQL_workflow.png "jydataSQL_workflow")
jydataSQL分成两个模块分别是编程接口与SQL执行引擎。
![jydataSQL_architecture](https://osredm.com/repo/jiuyuan/jydata/raw/branch/master/images/jydataSQL_architecture.png "jydataSQL_architecture")
jydataSQL提供原生的、基于C++实现的DataFrame编程接口整合了jydata引擎提供的过程式编程能力与SQL执行引擎提供的关系型数据分析能力用户可以根据负载特性在通用但难编程的过程式与易编程但有限的关系型之间自由选择。jydataSQL同时还兼容JDBC/ODBC与控制台接口该接口并非jydataSQL实现而是由于复用了SparkSQL的Catalyst优化器从而复用了它的编程接口。
jydataSQL还提供原生的SQL执行引擎。在原有的Spark模块架构中SparkSQL通过Catalyst查询优化器将多种编程接口所编写的程序翻译成物理计划。物理计划在通过SparkSQL代码生成器进行算子融合后执行在Tungsten引擎上。而jydataSQL将原有的SparkSQL代码生成器替换成jydataSQL代码生成器将物理计划整体变换成C++代码后交由jydata引擎执行。jydata引擎包含用C++实现的高性能算子库并提供低开销的Spark整合。
这种架构设计在利用原生编译获得高性能特性的同时保留了SparkSQL的优化器以达成功能复用并保留了Spark核心以支持大数据需要的高可扩展、低开销容错。这使得jydataSQL不仅在性能方面较SparkSQL有优势在功能方面还能与SparkSQL对齐。
## 部署文档
[部署文档](https://www.osredm.com/jiuyuan/jydata/tree/master/ProjectDeploy.md "部署文档")