ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

DataHub Roadmap 全览:从 Q1 2021 到 Q4 2021 的功能演进与落地印证

DataHub Roadmap 全览:从 Q1 2021 到 Q4 2021 的功能演进与落地印证 DataHub Roadmap 全览从 Q1 2021 到 Q4 2021 的功能演进与落地印证【免费下载链接】datahubThe Context Platform for your Data and AI Stack项目地址: https://gitcode.com/GitHub_Trending/da/datahub本文基于仓库内 docs/roadmap.md 记录的 DataHub 历史路线图Q1 2021 至 Q4 2021 四个季度的规划与完成情况结合当前仓库源码、元数据模型PDL 定义、Python 摄取框架实现等逐项梳理“元数据摄取与发现、数据治理Tag / Business Glossary、血缘与作业编排、数据质量与画像、ML/度量生态、认证与细粒度权限、云端部署、无代码建模”等能力的时间线、完成状态与落地证据帮助读者理解 DataHub 的架构演进脉络并知道每一项“已完成”能力在仓库中的实际对应位置。引言这份 Roadmap 的价值与定位DataHub 是一个开源的数据目录与元数据平台当前仓库描述为 The Context Platform for your Data and AI Stack。docs/roadmap.md 记录的是截至 2022 年 1 月的历史路线图总结它按季度Q1–Q4 2021列出规划项用[x]/[ ]标记完成状态并将未完成项链接到官方 Feature Request 门户以收集社区投票。需要特别说明的是文档开篇明确指出DataHub Roadmap 已迁移到新家——官方功能请求与优先级排序站点feature-requests.datahubproject.io本文讨论的是仓库内保留的“历史路线图”部分本文只把 Roadmap 作为骨架用仓库中真实存在的源码与配置作为“已完成”项的落地证据不虚构未完成项的完成状态也不引入外部链接之外的额外信息。在阅读各季度细节前先给出三个核心观察便于建立全局认知季度分布Q1 20211–3 月以“打地基”为主——React 新 UI、Python 摄取框架、仪表盘/图表实体、SSO、Tags、Business Glossary、作业/流水线实体Q2 2021 转向云部署、产品分析、用量洞察、细粒度权限与无代码元数据建模Q3 2021 聚焦数据画像与数据质量、列级血缘、操作元数据Q4 2021 则面向数据湖生态Delta Lake / Iceberg / Hudi、元数据触发框架、ML 生态与 Data Mesh 方向。完成度分布框架类、实体建模类、摄取类任务大多完成[x]而涉及 UI 可视化、质量评分、跨系统集成Azure 部署指南、Notebooks、列级血缘的 SQL 解析等项在当年仍为开放状态[ ]。与当前仓库的对应关系几乎所有[x]项都能在当前仓库中找到实现实体PDL 模型、Python 摄取源、Helm/云部署脚本本文会在对应小节给出精确路径。一、Q1 2021数据平台的第一块地基1.1 React UI 取代 Ember UIRoadmap 条目[x]基于 React 构建全新 UI[x]弃用对 Ember UI 的开源支持。仓库印证当前前端代码位于 datahub-web-react核心入口包括 App.tsx、index.tsx并提供 App.test.tsx 等测试。前端通过 GraphQL 与后端交互见 codegen.yml 与 src/graphql 下的.graphql定义文件。仓库中已不存在 Ember UI 目录印证了“弃用 Ember、全面转向 React”的路线图决策。1.2 Python 元数据摄取框架Roadmap 条目[x]构建基于 Python 的 Ingestion Framework[x]支持常用人员仓库LDAP[x]支持常用数据仓库Kafka、SQL 数据库、AWS Glue、Hive[x]支持常见转换源dbt、Looker[x]支持从 Python 进行推送式元数据发射如 Airflow DAG。仓库印证摄取框架主体位于 metadata-ingestion 模块入口包为 metadata-ingestion/src/datahub/ingestionSource抽象类定义于 source.py。各类摄取源可以直接在 metadata-ingestion/src/datahub/ingestion/source 下找到例如 AWS Glueaws/glue.py、BigQuerybigquery_v2/bigquery.py、SQL 数据库sql 系列、Kafka、Hive、dbt、Looker 等均作为独立源目录存在。推送式发射通过 Emitter 实现核心类DataHubRestEmitter定义于 rest_emitter.py而DataHubGraph客户端定义于 graph/client.py供 Airflow DAG 等场景在任务运行后向 DataHub 推送元数据MetadataChangeProposal。摄取源的完整清单与用法文档可见 metadata-ingestion/docs/sources数百个源的说明与 recipe 示例。1.3 仪表盘与图表实体Roadmap 条目[x]支持 dashboard 和 chart 实体页面[x]支持浏览browse、搜索与发现。仓库印证实体模型定义于 metadata-models 模块的 PDL 文件中Chart 模型ChartInfo.pdl、ChartType.pdl、ChartSnapshot.pdl、ChartKey.pdl。Dashboard 模型DashboardInfo.pdl、DashboardSnapshot.pdl。浏览/搜索能力由后端图索引与搜索引擎支撑相关实现集中在 metadata-io 模块。1.4 SSO 认证OIDCRoadmap 条目[x]支持使用 OIDC 提供方Okta、Google 等进行认证登录。仓库印证认证相关实现集中在 datahub-frontendPlay/Scala Java与 metadata-service/auth-* 系列模块前端认证过滤器/安全模块见 datahub-frontend/app/security、datahub-frontend/app/auth后端认证实现见 metadata-service/auth-impl、metadata-service/auth-config 与 metadata-service/auth-filter配置项OIDC provider 设置、JAAS 等可见 datahub-frontend/conf/application.conf 与 datahub-frontend/conf/jaas.conf。1.5 Tags自由标签Roadmap 条目[x]编辑/创建新标签[x]将标签附加到相关实体如 datasets、dashboards、users、schema_fields[x]使用标签进行搜索。仓库印证Tag 实体完整建模于 metadata-models属性模型TagProperties.pdl——包含name带 WORD_GRAM 分词与自动补全、boostScore 10.0、可选description、可选colorHexHex 颜色如#FFFFFF关联模型TagAssociation.pdl 与 GlobalTags.pdl 负责把标签挂到任意实体上快照与 KeyTagSnapshot.pdl、TagKey.pdl。从 PDL 中的Searchable注解可以看出“按标签搜索”的实现机制标签名称被索引为可自动补全的搜索字段从而支持“找到所有带某标签的数据集/实体”。1.6 Business Glossary业务术语表Roadmap 条目[x]支持业务术语表模型定义 存储[ ]浏览分类树taxonomy[x]UI 支持将业务术语附加到实体和字段。仓库印证Glossary 建模完整术语属性GlossaryTermInfo.pdl——核心字段包括name可自动补全搜索、definition业务定义TEXT 类型全文搜索、parentNode术语的父节点带IsPartOf关系、可索引为parentNodeURN、termSourceINTERNAL 或 EXTERNALKEYWORD 类型、sourceRef、sourceUrl以及已废弃的rawSchema节点信息GlossaryNodeInfo.pdl关联与快照GlossaryTerms.pdl、GlossaryTermAssociation.pdl、GlossaryTermSnapshot.pdl、GlossaryNodeSnapshot.pdl。术语通过parentNode挂到 GlossaryNode 上从模型上可以推断分类树taxonomy的数据基础已经具备当年未完成的仅是 UI 层的“浏览分类树”体验。1.7 Jobs、Flows / Pipelines作业与流水线Roadmap 条目Use Case搜索和发现你的流水线如 Airflow DAG并理解与数据集的血缘[x]支持元数据模型 后端实现[x]与 Airflow 等系统的元数据集成。仓库印证DataFlow流水线/编排流模型DataFlowInfo.pdl——包含nameWORD_GRAM 可自动补全、description、project可选TEXT_PARTIAL、created/lastModified源平台时间戳映射为可搜索 DATETIME 字段、envFabricType 环境作为过滤标签DataJob作业模型DataJobInfo.pdl 与 DataJobInputOutput.pdl描述作业的输入/输出是血缘的基础快照与 KeyDataFlowSnapshot.pdl、DataJobSnapshot.pdlAirflow 集成可在 metadata-ingestion-modules/airflow-plugin 找到完整的 Airflow 插件实现含 66 个 Python 文件负责把 DAG/Task 作为 DataFlow/DataJob 推送到 DataHub。1.8 数据画像与数据集预览Q1 版Roadmap 条目[ ]通过摄取管道支持数据画像与预览提取明确标注“Q1 范围内不包括数据画像与样本数据的访问控制”。仓库印证实现状态说明该条在 Q1 未完成但在Q3 2021 中被标记为[x]见下文 3.1。当前仓库中画像能力已经实现摄取源中的profiling配置贯穿各源如 bigquery_v2/profiling 下的 profiler、partition_discovery 等说明后续季度兑现了这条规划。二、Q2 2021云部署、用量洞察与无代码建模2.1 云端部署Roadmap 条目[x]生产级 Helm charts 用于 Kubernetes 部署[ ]面向所有主流云厂商的部署指南AWS[x]、Azure[ ]、GCP[x]。仓库印证仓库内的 Helm charts 已迁移当前仓库 datahub-kubernetes/README.md 明确说明2021 年 7 月起charts 迁移至独立仓库并发布到https://helm.datahubproject.io部署方式为helm repo add datahub https://helm.datahubproject.io helm install datahub datahub/datahub云部署/容器化相关材料仍保留在当前仓库docker 目录提供各组件datahub-gms、datahub-frontend、datahub-ingestion、mae/mce-consumer、datahub-upgrade 等的 Dockerfile 与 start.shdocs/deploy 下可看到面向 aws.md、gcp.md、azure.md、kubernetes.md 的部署文档目录与路线图中 AWS/GCP 完成、Azure 待定的状态对应。2.2 产品分析与用量洞察Roadmap 条目[x]帮助你了解用户如何与 DataHub 交互[x]与 Google Analytics 等常见系统集成[x]展示常用数据集等[ ]通过用量数据改进搜索相关性。仓库印证用量/统计模型存在于 metadata-models例如 Chart 与 Dashboard 的用量统计模型ChartUsageStatistics.pdl、ChartUserUsageCounts.pdl、DashboardUsageStatistics.pdl。数据集用量与查询历史的功能文档见 docs/features/dataset-usage-and-query-history.md。而“用量改进搜索相关性”属于持续的算法方向当年未标记完成。2.3 细粒度访问控制与基于角色的访问控制RBACRoadmap 条目支持对元数据操作读、写、修改的细粒度访问控制范围覆盖 entity 级、aspect 级乃至 aspect 内部该能力是 Tag 治理、Dataset Preview 访问控制等的基础。仓库印证当前仓库中授权体系非常完整前端认证与授权指南见 docs/authorization包含 policies.md、access-policies-guide.md、roles.md、groups.md后端实现分布于 metadata-service/auth-impl 等模块rate-limit 模块 metadata-service/rate-limit 提供了资源限制的补充能力认证概念文档见 docs/authentication。2.4 无代码元数据模型扩展Roadmap 条目Use Case开发者应能轻松向元数据模型添加新实体和 aspect[x]无需编写任何代码Java 或 Python即可存储、检索、搜索和查询元数据[ ]无需编写任何代码GraphQL 或 UI即可可视化元数据。仓库印证“无代码”的核心是实体注册表Entity Registry当前仓库中 entity-registry 模块提供运行时注册机制测试模型见 entity-registry/custom-test-model通过 registry YAML 声明自定义实体/aspect无需 Java/Python 代码扩展模型的用户文档见 docs/modeling/extending-the-metadata-model.md 与 docs/how/add-new-aspect.md从仓库结构看新增实体的存储/检索/搜索由 metadata-io 的通用服务自动完成而 UI/GraphQL 层的自动可视化[ ]项属于当年未完成的工作。三、Q3 2021画像、质量、列级血缘与操作元数据3.1 数据画像与数据集预览完成Roadmap 条目Use Case查看数据集样本数据与数据形态统计——列分布、可空性等[x]通过摄取管道支持数据画像与预览提取列样本而非行。仓库印证画像配置散落在各摄取源的config/profiler实现中最典型的完整实现是 metadata-ingestion/src/datahub/ingestion/source/bigquery_v2/profiling含 profiler.py、partition_discovery/ 分区发现等子模块与 bigquery_v2/bigquery_config.py 中的配置项数据湖侧同样支持画像见 data_lake_common/profiling/readers.py画像抽取按“列样本”而非整行进行与路线图描述一致。3.2 数据质量Roadmap 条目[x]支持数据画像与时间序列视图[ ]支持数据质量可视化[ ]基于质量结果与管道可观测性的数据健康评分[ ]]与 Great Expectations、AWS deequ、dbt test 等系统集成。仓库印证数据质量领域的实体模型在 metadata-models 中非常完整未来季度持续推进的成果Assertion 全套模型AssertionInfo.pdl、AssertionResult.pdl、AssertionRunEvent.pdl、AssertionType.pdl各类具体断言DatasetAssertionInfo.pdl、FieldAssertionInfo.pdl、FreshnessAssertionInfo.pdl、SchemaAssertionInfo.pdl、SqlAssertionInfo.pdl、VolumeAssertionInfo.pdl质量测试相关文档docs/tests/metadata-tests.md、docs/assertions/open-assertions-spec.md。当年开放项质量可视化、健康评分、GX/deequ/dbt 集成并未在历史 Roadmap 中标记完成读者可通过 Feature Request 门户跟踪后续进展。3.3 列级血缘Roadmap 条目[ ]元数据模型[ ]SQL 解析。该条目在 Q3 未完成被纳入后续规划。仓库印证后续落地当前仓库已具备列级血缘的完整实现材料血缘相关文档docs/lineage含 sql_parsing.md、openlineage.md、airflow.md、dagster.md 等SQL 解析实现可追溯至 metadata-ingestion 中的 sql_parsing 相关源码SQLGlot 等解析器被用于提取字段级血缘因此可以推断Q3 2021 未完成的“元数据模型 SQL 解析”两项在后续季度已实际落地但历史 Roadmap 文本本身没有把它们标记为[x]本文如实说明。3.4 操作元数据Roadmap 条目[ ]分区数据集Partitioned Datasets[x]支持操作信号如完整性completeness、新鲜度freshness等。仓库印证操作信号与数据质量直接相关Freshness新鲜度断言模型见 FreshnessAssertionInfo.pdl 与 FreshnessAssertionSchedule.pdl而“分区数据集”高级 schema 属性支持在当年未完成对应 Feature Request 门户中跟踪。四、Q4 2021数据湖、触发框架、ML 与 Data Mesh4.1 数据湖生态集成Roadmap 条目[ ]Spark Delta Lake[ ]Apache Iceberg纳入 Q1 2022 社区驱动摄取源路线图[ ]Apache Hudi。仓库印证后续落地当前仓库中数据湖摄取能力已经相当丰富metadata-ingestion/src/datahub/ingestion/source/iceberg 目录存在Iceberg 源数据湖通用画像/读取实现位于 data_lake_common冰湖目录服务集成见 metadata-service/iceberg-catalogIceberg 用例文档见 docs/iceberg-catalog.md。历史 Roadmap 中这三项均为[ ]在 2022 年 1 月时点因此本文仅指出“仓库中已有对应实现”不宣称历史 Roadmap 标记为完成。4.2 元数据触发框架Metadata Trigger FrameworkRoadmap 条目[ ]Airflow 的 Stateful Sensors[ ]接收事件以发送告警、邮件[ ]Slack 集成。仓库印证当前仓库已具备与“订阅实体变更并触发通知”相关的完整工程实现说明该方向在后续演进中逐步落地Actions 框架datahub-actionsPython 实现含 examples 下的executor.yaml、metadata_change_sync.yaml、snowflake_tag_propagation.yaml等示例以及 docs/actions 文档订阅与通知文档docs/managed-datahub/subscription-and-notification.mdSlack 集成文档docs/managed-datahub/slack。从源码结构看“订阅实体变更 → 触发 action/通知”正是 datahub-actions 的核心工作流。4.3 ML 生态Roadmap 条目[x]FeaturesFeast[x]ModelsSagemaker[ ]NotebooksJupyter 集成。仓库印证SageMaker 摄取源实现metadata-ingestion/src/datahub/ingestion/source/aws/sagemaker.pyMLFeatureTable / MLModel 等实体模型位于 metadata-models可检索ml*相关 PDLNotebook 集成[ ]在当年未完成列入 Feature Request 门户。4.4 度量生态Roadmap 条目[ ]Measures、Dimensions[ ]]与数据集和仪表盘的关系。仓库印证从当前仓库结构看度量/指标作为一等实体建模metrics 相关 PDL 位于 metadata-models但历史 Roadmap 在 2022 年 1 月时点未将其标记完成属于持续演进方向。4.5 Data Mesh 方向Roadmap 条目[ ]数据产品Data Product建模[ ]支持 Data Mesh 化的分析。仓库印证后续落地当前仓库已具备 Data Product 与 Domain 的完整建模与文档docs/dataproducts.md、docs/domains.md数据产品示例 recipemetadata-ingestion/examples/data_product/data_product.yaml。可见 Data Product 建模在后续季度已落地为产品能力历史 Roadmap 文本未标注完成。4.6 协作Roadmap 条目[ ]平台内对话Conversations[ ]知识帖子Knowledge PostsGdocs、Gslides、Gsheets。仓库印证协作能力的实体模型可在 metadata-models 的 notebook 等目录中找到部分雏形如 notebook/ChartCell.pdl但历史 Roadmap 未标记完成属于开放方向。五、从历史 Roadmap 看 DataHub 的架构演进主线把四个季度放在一起可以梳理出 DataHub 稳定不变的几条演进主线这些主线直到今天仍然是当前仓库的核心架构实体 Aspect 的元数据模型是唯一事实源。无论是 Tag、GlossaryTerm、DataFlow/DataJob、Chart/Dashboard、Assertion 还是 ML 实体都以 PDL 定义于 metadata-models/src/main/pegasus 下通过Aspect、Searchable、Relationship注解驱动存储、索引与图关系这正是 Q2 “无代码建模”的基础。摄取框架持续横向扩展。metadata-ingestion 的Source抽象api/source.py配合DataHubRestEmitteremitter/rest_emitter.py支撑了从 SQL、Kafka、Glue、Hive 到 dbt、Looker、SageMaker、Iceberg 的数百个摄取源docs/sources。血缘与可观测性持续深化。从 Q1 的作业/流水线实体到 Q3 的列级血缘 SQL 解析再到 Q4 的操作信号freshness/completeness最终形成当前仓库中 lineage 文档群docs/lineage与 Assertion/质量模型群metadata-models/.../assertion。部署与认证从“可用”走向“生产级”。Helm charts 独立发布datahub-kubernetes/README.mdOIDC 认证、细粒度授权docs/authorization从 Q1/Q2 一路演进为完整的认证授权体系。开放项的跟进机制Roadmap 上所有未完成项都被引导到 Feature Request 门户通过 upvote 与订阅来决定未来周期的优先级——这也是文档开篇强调“Roadmap 有了新家”的原因。六、阅读 Roadmap 的注意事项与后续跟踪方式历史快照 vs 当前状态仓库内 docs/roadmap.md 是“截至 2022 年 1 月”的快照许多当时[ ]的条目列级血缘、Data Product、Iceberg 摄取、触发框架等在后续版本中已实际落地。本文只依据当前仓库内容指出现有实现不以历史标记断言完成与否。官方最新路线图文档明确指向 feature-requests.datahubproject.io 的 Roadmap 页面功能请求与优先级排序平台如需查看正在进行的迭代计划请直接访问该平台本文不复制外部链接之外的内容。参与方式如果你对某个候选方向感兴趣可以在 Feature Request 门户中提交新请求或对既有请求 upvote帮助社区判断优先级——这正是 DataHub 将“路线图决策”开放给社区的方式。结语从 Q1 2021 的 React UI 与 Python 摄取框架到 Q4 2021 的数据湖与 Data Mesh 探索这份历史 Roadmap 完整记录了 DataHub 从一个“可用的元数据目录”演进为“数据与 AI 栈上下文平台”的第一年。对照当前仓库源码绝大多数规划项都能找到具体的 PDL 模型、摄取源、部署脚本或文档作为证据。对于数据平台工程师而言这份 Roadmap 既是理解 DataHub 模块边界与演进逻辑的绝佳地图也是评估“社区优先级决策机制”如何运作的一手材料。【免费下载链接】datahubThe Context Platform for your Data and AI Stack项目地址: https://gitcode.com/GitHub_Trending/da/datahub创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表