@ finos/ legend- 立方体构建器
UI和"传奇魔方"的"传奇"引擎适配器,一个基于画布的视觉查询构建器. 域模型生活在
无主机 @finos/legend-cube。 。 。 .
它持有页面(画布,调色板,侧面板编辑器,取源器和结果网格),它的MobX
库,引擎端口及其 v1/ 适配器和捆绑的模型目录 图例分析器主机页面
/analytics/,而"传奇工作室"从摄入定义的编辑器中打开(参见: 托管) (中文(简体) ).
状态 : 工作正在进行,第0.0.x版。 此版本有关系表( 从模型或直接连接到 H2 ) 或DuckDB),所部署数据产品的访问点和所部署的摄入量定义(两者均为β)的数据集, 加入、 排序、 组合、 中枢( 在运行它的数据库上)、 过滤、 限制、 重命名、 区分、 丢弃、 限制、 切片、 串接、 比较列值( 偏差) , 窗口函数(Apply Window 函数),计算列(外出列,其表达式为引擎检查)和 由纯条件(Filter by Expression,引擎也检查该条件)保存的行,每个查询有一个模型,一个运行时间和一个数据库,数据产品项目或生产者部署. 一个立方体只通过它的规格的进出口来保存,标记为"(dev)",直到 立方体商店存在。 一个被粘贴的模型保存在立方体中. 结果网格默认在服务器侧工作:一个标题 排序和每个从屏幕运行到引擎上的钻入级; 本地模式组、 pivots 并过滤 运行浏览器中的行。 网格通过引擎将整个查询导出为 CSV , 并显示为 Excel, 列表 最新运行的SQL,格式列(一个数字,一个ISO货币或一个百分比)。 还没有页面的链接,没有重做, Cube 没有发送遥测.
版式
| 文件夹 | 持有 |
|---|---|
src/components/ | 该页, CubeEditor及其各部分: canvas/, (中文(简体) ), palette/, (中文(简体) ), editors/, (中文(简体) ), source-picker/, (中文(简体) ), grid/, (中文(简体) ), show-pure/, (中文(简体) ), spec-transfer/ |
src/stores/ | 页面的 MobX 状态、其部分和节点编辑器; editors/ (节点草稿); LocalModelCatalog 财务报告和审定财务报表 fixtures/ (捆绑的模型); CubeHost |
src/graph-manager/ | 引擎端口( x)CubeEngine.ts),连接探索器,数据产品目录和摄入目录端口,及其构建者 |
src/graph-manager/protocol/pure/v1/ | 发动机适配器, V1_LegendCubeEngine: lambda 序列器,结果和关系类型读取器,错误映射 |
src/__lib__/ | 标签、 帮助文本、 命令配置和测试 id |
src/__test-utils__/ | 假引擎和测试的助手 |
style/ | 样式表,构建为 lib/index.css |
这取决于 @finos/legend-cube传奇地图 传奇应用 传奇艺术 传奇莱戈 传奇共享
仓库、湖屋和仓库客户,永远不要
在一个应用程序包上(legend-application-*)或作"传说-克瑞-建设者".
V1规则: V1_* 协议代码生活在 src/graph-manager/protocol/pure/v1/。外部的一个产品文件
它的名称 V1_* 是连接 src/graph-manager/protocol/pure/CubeEngineBuilder.ts数字 : buildCubeEngine 是唯一一个
产品代码 V1_LegendCubeEngine因此,主机从不命名 V1_* 符号。 归宿
enforce-module-import-hierarchy 提示规则禁止在 stores/ 或者说 components/ 财务报告和审定财务报表 v1/两种方式.
发动机辅助测试 src/__tests__/ 他们需要适配器和 stores/。 。 。 .
公共 API
src/index.ts 输出 :
CubeEditor,页,和CubeHost宿主给了它什么;CubeEntrySource,一个源的链接要求页面 以( e) 开头initialSource),以及formatCubeAccessPointEntryId联合国CubeAccessPointEntry,写着 数据产品访问点的链接 id (主办时间:(三);- 发动机端口,所有在
CubeEngine.ts(单位:千美元)CubeEngine, (中文(简体) ),CubeEngineError, (中文(简体) ),CubeEngineErrorKind, (中文(简体) ),CubeResult, (中文(简体) ),CubeModelOutline,与buildCubeEngine财务报告和审定财务报表CubeEngineConfig· ; - 连接探索器端口, 所有在
CubeConnectionExplorer.ts,与buildCubeConnectionExplorer· ; - 数据产品:
CubeDataProduct.ts(模型类型、运行时路径、环境类型、 仓库规则)和CubeDataProductCatalog.ts(目录端口及其类别)buildCubeDataProductCatalog, (中文(简体) ),buildCubeLakehouseEnvironment, (中文(简体) ),CubeLakehouseServices, (中文(简体) ),CubeLakehouseEnvironment财务报告和审定财务报表getCubeRememberedWarehouse· ; - 摄入数据集:
CubeIngest.ts(模型类型、运行时路径、保存的设置)和CubeIngestCatalog.ts(目录端口及其类别)buildCubeIngestCatalog· ; - 已公布的项目:所有项目
CubeProject.ts(指针模型及其检查)和CubeProjectCatalog.ts(目录端口),带有buildCubeProjectCatalog· ; LocalModelCatalog财务报告和审定财务报表BUNDLED_MODELS· ;LEGEND_CUBE_COMMAND_CONFIG财务报告和审定财务报表LEGEND_CUBE_COMMAND_KEY,页面的快捷键;LEGEND_CUBE_TEST_ID· ;- 0.0.2发布但包外无任何内容的帮助者尚未使用:
getRuntimesForDatabase, (中文(简体) ),createTextModel, (中文(简体) ),BundledModel和捆绑的模型的CUBE_NORTHWIND_MODEL, (中文(简体) ),CUBE_NORTHWIND_DATABASE财务报告和审定财务报表CUBE_NORTHWIND_RUNTIME。 。 。 .
节点类型的注册(草稿、编辑器、帮助文本和图标)是内部的:没有用于节点类型的插件 API 还没有.
来源
立方体读取一种来源:关系表(来自模型,或通过直接连接从数据库)
已部署数据产品的接入点,或已部署的摄入定义数据集(两者均为β;Plan§6.7;§6.8).
“ 添加源” 对话框每个方式都有查找源的标签, 每个执行 CubeSourcePickerTab
(单位:千美元)src/stores/source-picker/:模型,数据库连接,数据产品和Ingest. 主办方提供最后三个
给出页a connectionExplorer页:1 dataProductCatalog 还有一个 ingestCatalog (见 托管) (中文(简体) ).
新型来源需要,在核心中,a SourceDefinition (节点、编码器、发射器及其查询规则)
构建器,一个标签,一个源面板编辑器,帮助文本和一个图标,及其在引擎执行中的分支,它
构建每个调用从立方体保存的模型类型上运行的模型(src/graph-manager/CubeDirectConnection.ts, (中文(简体) ),
CubeDataProduct.ts 财务报告和审定财务报表 CubeIngest.ts 以实例为准).
已公布项目数据库的表格来自项目数据库分页(PLAN §6.3),该分页扩展了样本数据分页:
立方体将引擎的指针保存在已发布的版本上,并保存主机的指针 projectCatalog 列出项目,
其库中的版本和大纲.
样本和实例
样本数据分页捆绑了三个数据集:北风(没有Cube的测试表)和两个编造,种子样本,运动和交易
(单位:千美元)src/stores/fixtures/),每个被其设置的SQL所填充的内膜H2数据库. 实例对话框( 页眉)
示例按钮)打开了7个示例立方体中的1个(src/stores/CubeExamples.ts代替立方体,然后
运行它,或者在数据集上启动一个新的立方体(PLAN §6.9). 一个
示例在代码中构建, 因此新代码不需要保存 spec; 添加到 CUBE_EXAMPLES和引擎测试
CubeExamples.engine-roundtrip-test.ts 打开、输入和运行.