尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Apache Ossie与GoodData LDM双向转换器完全指南:如何一步打通BI语义层
Apache Ossie与GoodData LDM双向转换器完全指南如何一步打通BI语义层【免费下载链接】ossieApache Ossie, industry wide specification effort to standardize how we exchange semantic metadata across analytics, AI and BI platforms, providing a vendor neutral, single source of truth for semantic data项目地址: https://gitcode.com/GitHub_Trending/osi1/ossieApache Ossie是一个由行业共同推动的开源规范旨在标准化语义元数据在分析、AI 与 BI 平台之间的交换。而GoodData LDM 双向转换器则是官方参考实现之一可以将 GoodData 声明式逻辑数据模型LDM一键转换为 Ossie 语义模型 YAML也可以反向生成 GoodData LDM JSON并支持无损往返round-trip。本指南面向新手带你快速理解这个转换器的原理、概念映射与使用方法。为什么需要 Apache Ossie 转换器在真实的数据平台里不同工具往往各自维护一套语义模型——KPI 的定义、维度、指标各写各的团队要花大量精力手动对齐。Ossie 的做法是轮毂式hub-and-spoke架构Ossie 核心规范作为中央标准每个厂商各写一个辐条转换器。导入Vendor → Ossie读取 GoodData LDM生成标准的 Ossie 模型导出Ossie → Vendor读取 Ossie 模型生成 GoodData LDM这样 N 个厂商之间互通只需 2N 个转换器而不是 N×(N-1) 个点对点转换。更多架构说明可参考 converters/README.md。核心概念映射LDM 与 Ossie 一一对应转换器的灵魂是一张清晰的翻译表。下表来自官方文档 converters/gooddata/README.md帮助你理解两种模型之间如何互译GoodData LDMOssie 语义模型DatasetDatasetAttribute Labels带dimension元数据的 FieldFact不带dimension元数据的 Field源列数据类型FielddatatypeReference外键RelationshipDate Instance带GOODDATA扩展date_dimension: true的 DatasetMAQL 表达式dialect: MAQL的方言条目设计亮点GoodData 特有的元数据如标签、日期粒度、地理类型并不会丢失而是被封装进 Ossie 的custom_extensions字段保证往返转换时信息不丢失。GoodData → Ossie三步完成导入核心入口是 gooddata_to_ossie.py流程非常简单解析 LDM用gd_model_from_dict把 GoodData 声明式 JSON 解析为类型化数据类定义在 models.py执行转换调用gooddata_to_ossie(model, model_namemy_model)转换器会自动映射数据集、字段、主键由 grain 属性生成和外键关系输出 YAML将结果 dict 序列化为 YAML即可被任何支持 Ossie 的工具读取from ossie_gooddata import gooddata_to_ossie ossie_model gooddata_to_ossie(gd_model, model_namemy_model)Ossie → GoodData三步完成导出反向转换由 ossie_to_gooddata.py 实现加载 Ossie 模型把 YAML 解析为 dict执行转换调用ossie_to_gooddata(ossie_data, data_source_idmy_datasource)转换器会识别日期数据集通过date_dimension扩展、重建字段角色与外键引用输出 LDM JSON序列化后可直接 PUT 到 GoodData 声明式 APIfrom ossie_gooddata import ossie_to_gooddata gd_model ossie_to_gooddata(ossie_data, data_source_idmy_datasource)数据类型映射与无损保障数据类型的双向映射集中在 datatype_mapping.pyGoodData 源类型Ossie DataTypeSTRINGStringINTIntegerNUMERICDecimalBOOLEANBooleanDATEDateTIMESTAMPDateTimeTIMESTAMP_TZDateTimeTz两个值得注意的细节未知类型不猜测GoodData 中未声明的源类型会保持未指定而不是按维度还是事实去推断真正无法识别的类型会被标为Opaque并把原始值存入GOODDATA扩展保证往返无损有损转换会告警例如 Ossie 的Float导出到 GoodData 时只能落为NUMERICGoodData 没有精确/近似数值之分转换器会发出明确警告而不是悄悄降级当前局限性升级前必读Metrics 暂不转换GoodData 指标使用 MAQL是报表时才应用维度与过滤器的上下文敏感语言与 Ossie 基于 SQL 表达式的指标模型范式不同暂不支持 AggregatedFacts 与工作区数据过滤器Ossie 的Opaque字段导出时需要扩展中提供精确的 GoodData 源类型否则使用角色默认值并告警完整列表见 converters/gooddata/README.md 的 Limitations 章节。快速上手获取并运行转换器转换器的完整代码位于 converters/gooddata/ 目录基于 Python 3.12 与uv管理见 pyproject.toml。第一步获取项目git clone https://gitcode.com/GitHub_Trending/osi1/ossie第二步运行测试验证安装cd ossie/converters/gooddata uv sync --group dev uv run pytest测试套件基于业界标准的 TPC-DS 模型构建包含双向转换与往返测试测试夹具可直接对照阅读GoodData 侧输入gooddata_tpcds.jsonOssie 侧输出ossie_tpcds.yaml往返一致性测试test_roundtrip.py总结Apache Ossie 与 GoodData LDM 双向转换器的价值可以概括为三句话标准先行语义模型只写一次Ossie 作为厂商中立的唯一事实来源、双向无损厂商特有元数据通过custom_extensions完整保留、开箱即用Python 库 完整测试几分钟即可跑通。如果你在 BI 与 AI 平台之间反复搬运语义定义这套转换器值得加入你的工具链。【免费下载链接】ossieApache Ossie, industry wide specification effort to standardize how we exchange semantic metadata across analytics, AI and BI platforms, providing a vendor neutral, single source of truth for semantic data项目地址: https://gitcode.com/GitHub_Trending/osi1/ossie创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

为 back/forward cache 优化页面:用 pagehide/pageshow 替代 unload,让返回导航近乎瞬时恢复

为 back/forward cache 优化页面:用 pagehide/pageshow 替代 unload,让返回导航近乎瞬时恢复

为 back/forward cache 优化页面:用 pagehide/pageshow 替代 unload,让返回导航近乎瞬时恢复 【免费下载链接】Front-End-Checklist 🗂 The essential checklist for modern web development, for humans and AI agents 项目地址: https://…

📅 2026/9/18 16:00:42
Python批量生成波浪理论图解:ZigZag、斐波那契与PDF输出

Python批量生成波浪理论图解:ZigZag、斐波那契与PDF输出

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/9/18 16:00:42
VS Code+AI驱动的STM32嵌入式开发新范式

VS Code+AI驱动的STM32嵌入式开发新范式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/9/18 16:00:42
MORE NEWS

更多资讯

📰

组策略软件部署实战:分配、发布、MSI静默安装与排错

组策略里有个功能,很多人装了域控好几年都没真正用过,就是软件分配和软件发布。它不需要额外的第三方分发平台,不用给每台机器装客户端,也不用写一堆批处理去挨个机器跑安装包——只要客户端加进了域,开机或登录的瞬间…

📰

数据编织实战指南:从元数据到客户360度视图的企业数据架构

简介:这是一份来自Gartner《有效商业决策指南》系列研究的正式报告,是该系列五大指南中的第四篇,主题为了解数据编织的作用。报告面向数据和分析领导者、企业架构师及技术决策者,为解决多云混合环境下数据孤岛激增、人工整合任务繁…

📰

物理学术语翻译的核心争议与方法论探讨

1. 物理术语汉译的核心争议与现状在物理学研究与教学中,术语的准确翻译直接影响着概念的理解与传播。当前物理学术语汉译存在三大突出问题:直译导致的语义偏差、历史遗留的译名混乱,以及学科交叉带来的标准冲突。这些问题在相对论、量子力学等…

📰

VS Code Continue 插件不连本地 vLLM,apiBase 改到 TaoToken 通道接 Codestral 行不行?

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

go-sdk 客户端特性全解:Roots、Sampling、Elicitation 与 Multi Round-Trip Requests 实战指南

go-sdk 客户端特性全解:Roots、Sampling、Elicitation 与 Multi Round-Trip Requests 实战指南 【免费下载链接】go-sdk The official Go SDK for Model Context Protocol servers and clients. Maintained in collaboration with Google. 项目地址: https://gitc…

📰

Windows Server 2003 虚拟机安装与老系统迁移

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬