news 2026/9/17 3:52:19

DataHub Cloud v2.1.0 系列发布说明全解:Scoped MCP、Ask DataHub GA、语义模型与权限模型的安全加固路线

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
DataHub Cloud v2.1.0 系列发布说明全解:Scoped MCP、Ask DataHub GA、语义模型与权限模型的安全加固路线

DataHub Cloud v2.1.0 系列发布说明全解:Scoped MCP、Ask DataHub GA、语义模型与权限模型的安全加固路线

【免费下载链接】datahubThe Context Platform for your Data and AI Stack项目地址: https://gitcode.com/GitHub_Trending/da/datahub

本文以 DataHub Cloud(DataHub 托管版)v2.1.x 系列(v2.1.0 至 v2.1.7)的官方发布说明为主体,完整梳理该系列的破坏性变更、新特性亮点、关键环境变量与逐版本热修复演进。读完后,你将掌握:如何安全地从旧版本升级到 v2.1.x、哪些行为变更必须提前迁移(尤其是 v2.1.5 的权限模型变更与 MCP 鉴权方式变更),以及这些声明在 DataHub 开源仓库源码中的对应实现证据。

1. v2.1.x 版本地图与推荐组件版本

v2.1.0 于 2026-07-30 发布,随后 v2.1.1 ~ v2.1.7 以热修复(hotfix roll-up)形式持续滚动。该系列所有版本推荐的基础组件版本保持一致,便于混合部署时对齐:

版本可用日期性质说明
v2.1.030-Jul-2026功能主版本(含大量破坏性变更,见第 3 节)
v2.1.106-Aug-2026修复可能中断长时 ingestion 工作负载的问题
v2.1.212-Aug-2026批量血缘传播、MCP?token=参数废弃(破坏性变更)
v2.1.319-Aug-2026"View Self" 默认策略收紧、语义搜索管理台
v2.1.425-Aug-2026EXTERNAL_OAUTH_MAP_TO_CORPUSER外部 OAuth 映射能力
v2.1.51-Sep-2026权限授予写操作全面收口(破坏性变更,见第 7 节)
v2.1.611-Sep-2026View builder 结构化属性过滤、依赖项安全下限
v2.1.715-Sep-2026SQS 通道 Remote Executor 修复

全系列推荐的组件版本:

  • CLI/SDK: 1.6.0.16
  • Remote Executor: 自 v2.1.x-cloud 起向下兼容至 v1.1.4-cloud(各热修复版本依次追加对上一版 -cloud 镜像的推荐)
  • On-Prem 版本: Helm 1.6.233、API Gateway v0.7.3

原始发布说明位于 docs/managed-datahub/release-notes/v_2_1_0.md,其中 v2.1.0 的完整变更集还指向开源仓库 v1.6.0 发布的所有变更,升级前建议同时对照 更新指南。

2. v2.1.0 新特性亮点(该系列的能力基线)

v2.1.0 是这一系列的骨架版本,定义了 v2.1.x 全部后续热修复所依托的新能力面:

  • Metrics 与 SemanticModels 实体:新增一等公民的 Metric 与 SemanticModel 实体,配有专属实体页、指标首页、侧边栏导航与自动补全,使业务指标及其语义模型可以被编目、检索,并与所派生的数据集一起参与血缘。
  • Scoped MCP servers:可在 UI 中创建和管理面向特定目的的 Model Context Protocol(MCP)服务器,每个服务器暴露一组精选工具、可配置 instructions,并可通过 Views 对数据资产做作用域限定,用于构建"只访问特定数据与工具"的领域专属 Agent。在 Context Platform 中以私有 Beta 默认提供。
  • Agent、Service、Repository 编目实体:AI Agent(及其采用的技能与调用的工具)、工具所属的服务(REST API、MCP 服务器)、以及背后的源代码仓库,成为参与血缘的一等实体;支持 LangChain 与 Google ADK Agent 自动注册。
  • GitHub Context Document 双向同步:从一个或多个 GitHub 仓库导入 context documents,并把 DataHub 上的修改以 PR 形式同步回 GitHub(后续 v2.1.4 进一步加固了 re-import 复用既有文档身份、PR 生命周期处理等细节,并新增sync_back.include_unpublished(默认false)与sync_back.max_files_per_commit(默认100)两个 recipe 选项)。
  • 国际扩展:新增法语(fr)、意大利语(it)、挪威博克马尔语(nb)、瑞典语(sv)、匈牙利语(hu)五个 Beta 语言;启用后 DataHub 在存在翻译时跟随浏览器语言。
  • 新数据源:Cube(语义层)、AWS Kinesis Data Streams / Amazon Data Firehose、MicroStrategy、Open Data Contract Standard(ODCS)。
  • Data Product Lineage:数据产品直接出现在血缘图中,便于理解业务级数据实体之间的跨生态连接。

其他产品变更同样值得注意:Ask DataHub 正式 GA(网页端在应用任何元数据变更前会暂停等待人工审批);Glossary Node 可挂接 Domains;Logical Models 可在 UI 中直接创建、关联物理数据集、映射列并编辑 schema(默认启用);自管部署可通过LOG_AGGREGATOR_ENDPOINT将服务日志投递到 Loki 兼容聚合器并启用 support bundle 日志采集;断言通知邮件新增alert id用于去重;订阅跟随资产生命周期(资产软删除时订阅自动失活,恢复时复活)。

3. v2.1.0 破坏性变更全集(升级前必读)

以下是 v2.1.0 发布说明中列出的全部 17 项破坏性变更,升级脚本与 recipe 应逐项核对:

  1. 编排插件默认异步 emit:Airflow、Dagster、Prefect、Great Expectations 插件默认改为ASYNC。异步emit()不再因写入被拒而抛异常,也不提供读写后一致性保证。如需恢复旧行为,按插件配置emit_mode: SYNC_PRIMARY(Airflow 中为airflow.cfg[datahub] emit_mode = SYNC_PRIMARY)。Python SDK、CLI 与 DataHub Actions 默认值不变。
  2. 内置列级分类器移除DataHubClassifier及其acryl-datahub-classify依赖已从发行包移除,分类框架保留但默认不注册任何分类器。recipe 中若设置了classification.enabled: true且未注册替代分类器,启动时会快速失败。处理方式是移除classification块、注册自定义分类器,或锁定最后包含内置分类器的版本。
  3. Spark 血缘捆绑 OpenLineage 1.50:OpenLineage 内置的 dataset-name trimmers 默认会从文件系统/对象存储数据集名中剥离常见分区目录。当 DataHub 路径修剪(path_spec_listfile_partition_regexp)已配置时,插件会自动禁用这些 trimmers;两者都未配置的 recipe 会直接启用自动剥离,分区路径的 dataset URN 变化可能导致指向旧 URN 的血缘边成为孤儿。可设置spark.datahub.metadata.dataset.openLineageTrimmersEnabled=false恢复 1.50 之前的命名。另外file_partition_regexp现在也作用于裸命名空间的file/dbfs数据集。
  4. Power BI 与 Mode 列级血缘保留原始大小写:不再对上游列名做小写化,重新摄取后此前缺失的列级血缘边会显现。如果上游 SQL 源曾配置convert_column_urns_to_lowercase: true作为权宜之计,应移除以使两侧保持一致。
  5. BigQuery 表统计来源变更:行数、大小、最近修改时间改从INFORMATION_SCHEMA.PARTITIONS获取,不再使用未文档化的__TABLES__PARTITIONS只覆盖基表,空表、外部表、视图与快照将丢失lastModified(快照还会丢失 row/size 自定义属性)。设置use_legacy_table_stats: true可恢复旧行为。
  6. MongoDB 可作为 AWS DocumentDB 摄取:新增 opt-inplatform: documentdb(配合hostingEnvironment: AWS_DOCUMENTDB),在新documentdb数据平台下发射实体。默认行为不变;启用会改变 dataset 与 container 的 URN,需清理陈旧的mongodb实体。
  7. Snowplow enrichment DataJob URN 改为基于名称:连接器迁移到受支持的 enrichments 端点后不再获得每次 enrichment 的 UUID,DataJob URN 改由 enrichment 名称派生;旧 UUID 型 DataJob 会重建,需清理陈旧实体。
  8. Teradata database-container URN 大小写:当convert_urns_to_lowercase: true(非默认)时,容器 URN 也会小写化,使容器与其数据集匹配。默认(false)部署不受影响。
  9. Ingestion 框架 workunit processor API:workunit-processor 辅助函数被移除,改为WorkunitProcessor类,且多个 processor 改名。直接调用过辅助函数的自定义代码必须迁移到类 API。
  10. 数据集语义搜索不再隐式开启:启用语义搜索并使用默认实体集时,不再同时桥接 datasets。升级后如需保留数据集语义搜索,需在 GMS 与 system-update 任务上设置ELASTICSEARCH_SEMANTIC_SEARCH_ENTITIES=document,dataset
  11. 逻辑父链接需要双方 Edit Entity:物理数据集链接到逻辑父数据集时,需要对子实体与目标父实体同时拥有 Edit Entity;清除父链接只需子实体侧权限。
  12. GMS 用量指标语义(opt-in)USAGE_AGGREGATION_ENABLED=true时,datahub_request_count改为从内存聚合刷出时发射(而非逐请求),actor 标签变为actor_class,并新增字节数与活跃身份指标。聚合默认关闭,旧 JMX 指标不受影响。
  13. Executor 协调器环境标志DATAHUB_EXECUTOR_MONITORS_ENABLEDDATAHUB_EXECUTOR_TASKS_ENABLED变为硬 opt-out(跳过子系统装配与重型导入),不再是仅跳过 fetcher 的开关;禁用 Kafka/actions 管道请改用DATAHUB_EXECUTOR_INGESTION_PIPELINE_ENABLED
  14. 订阅动态继承通知默认值:创建订阅时若 GraphQL 调用方省略notificationConfig(或不带notificationSettings),交付时将动态使用操作者当前的通知默认值,而不是创建一个无 sink 的订阅。如需有意创建无 sink 订阅,请显式发送notificationSettings.sinkTypes: []
  15. 移除REQUEST_MINIMAL_SLACK_PERMISSIONS:其职责由DATAHUB_SLACK_SERVER_SIDE_HISTORY_ENABLED承接(在安装界面将 Slack history scopes 标记为可选项,管理员可按安装取消勾选)。若设置过旧变量请删除。
  16. 血缘 scroll 端点契约POST /openapi/v3/lineage/scroll现在接收单一urns列表(取代原来分离的 source/destination/edge 过滤),direction取值为UPSTREAM/DOWNSTREAM。发布方称无已知调用方。
  17. Context Documents 进入 Views 作用域:context documents 现在受 Views 作用域约束,需要更新 views 定义以包含 context documents(或为 documents 补充域、标签等使其命中视图规则)。

此外 v2.1.0 有一项弃用:BigQueryusage.start_timeusage.end_timeusage.bucket_durationusage.max_query_duration弃用,改用顶层等价字段。注意这些usage作用域字段此前是被静默忽略的,现在会生效(并产生告警),可能扩大摄取窗口、增加查询成本;请把它们迁移到 recipe 顶层,同一字段在两处同时设置会成为错误。

4. Ingestion 能力升级(v2.1.0 主线)

新增连接器:Cube(语义层)、AWS Kinesis(Data Streams + Firehose)、MicroStrategy(BI)、ODCS(注册为独立数据平台)。

既有连接器增强(逐项继承原文档):

  • Teradata:profiling 尊重profile_table_size_limit(默认 5 GB,大小未知时 fail-open);血缘抓取批次大小可配置;视图定义可卸载到磁盘存储;多行查询重建设上限以防内存问题;大小检查中的权限错误被归类;零行血缘抓取产生告警。
  • Databricks Unity Catalog:Lakehouse Federation(外部目录)支持;基于system.query.history、经共享 SQL 解析聚合器派生的 usage/operations/query 实体(窗口最长 365 天);空闲窗口打零值 usage 戳;修复 ML 模型摄取控制(include_ml_models、强制的ml_model_max_results上限、MLModelURN 尊重 recipeenv)。
  • Redshift:Query 实体上的逐查询热度统计(queryUsageStatistics);可选列级 usage;table_pattern现在也作用于 SQL 解析派生的血缘与 usage;usage 统计中合成的按用户userEmail不再填充(经 CorpUser URN 的用户归属不变)。
  • BigQuery:表统计改由INFORMATION_SCHEMA.PARTITIONS提供(见第 3 节第 5 项);usage.*窗口与格式化字段合并到顶层等价项(见弃用)。
  • Power BI:Hive ODBC 源解析到hive数据平台(而非hadoop),使 Hive 血缘正确解析并与 Hive 连接器对齐。
  • Spark:支持 Apache Spark 4.x(Scala 2.13 构建);OpenLineage 升级至 1.50 并做完整 shadow-jar 遮蔽,可与自带 OpenLineage 的环境(如 Amazon EMR 7.12+ / SageMaker Unified Studio)共存。
  • Glue:视图分类与视图血缘提取;Matillion:带文件夹的容器层级、环境作用域血缘、pipeline 与组件级运行历史、修正外部控制台链接、未发布 pipeline 处理。
  • ClickHouse:usage 统计迁移到共享 SQL 解析聚合器;MySQL:基于performance_schema的 usage 与 query 血缘。
  • Confluence:文件夹作为 documents 摄取以保留层级;Amazon S3emit_folders_only只编目对象存储目录而不摄取底层文件。
  • Kafka Connect:支持 Iceberg Sink Connector 与 Snowflake Streaming Sink Connector;Dataplex:V2 体验的摄取源 UI 表单(v2.1.2 起 sync-back 覆盖全部六个已摄取的 Dataplex 平台,且跳过覆盖外部拥有的元数据)。

Ingestion 基础设施

  • 编排插件默认异步 emit(降低高吞吐下的负载,见第 3 节);
  • mTLS 客户端认证:CLI 与 SDK 可通过DATAHUB_CLIENT_CERT_PATH(及可选DATAHUB_CLIENT_KEY_PATH)在每条出站 HTTPS 路径上出示客户端证书,完全向后兼容。从仓库源码看,该能力落在 REST emitter 的出站请求构造中,参见 rest_emitter.py;
  • 基于环境的 OAuth:DATAHUB_AUTH_TYPE为 CLI、默认 sink 与环境解析的 emitter 选择 OAuth,底层是 Python 客户端可复用的 OAuth token provider;
  • 托管 ingestion 的 opt-in Kafka 默认 sink;
  • 纯 Python SQLGlot 逃生舱DATAHUB_SQLGLOT_DISABLE_C:在仓库中的实现为加载期钩子,设置该变量时强制 sqlglot 以纯 Python 方式加载,参见 _force_pure_python_sqlglot.py 及其单测 test_force_pure_python_sqlglot.py;
  • 临时表 usage 统计修复:经临时/暂存表加载的查询(常见 ELT/dbt 模式)的逐查询热度统计现在落到血缘引用的复合 Query 上,覆盖共享 SQL 解析聚合器上的所有连接器。

Executor 侧

  • 摄取日志垃圾回收器:opt-in 的进程内清理,删除超过保留窗口的单次执行日志目录,并带大小上限安全网(DATAHUB_EXECUTOR_LOG_GC_ENABLED,默认false,保留与大小参数通过关联的DATAHUB_EXECUTOR_LOG_GC_*变量调节);
  • 存储过程 CALL 语句:自定义 SQL 断言可选允许CALLDATAHUB_EXECUTOR_ALLOW_CALL_STATEMENTS,默认false,需重启 executor)。

5. 关键环境变量清单(v2.1.0 引入/变更)

下表继承发布说明中 v2.1.0 的 Environment Variables 全表,并保留了原文给出的默认值与约束:

变量默认值作用
DATAHUB_AI_TOOL_APPROVAL_ENABLEDtrue控制 Web UI 上 AI 聊天对变更型工具的 human-in-the-loop 审批;设false恢复自动应用。每轮对话重新读取
CHAT_SUGGESTIONS_ENABLEDtrue控制 Ask DataHub 追问建议的生成
SQL_SKETCH_SYNTHESIS_MODEL某个 Bedrock Sonnet profileSQL sketch/建议合成所用模型;接受bedrock/openai/google_vertexai/前缀
I18N_ENABLED启用多语言翻译;Cloud 需申请开启,OSS 默认truefalse仅英语)
USAGE_AGGREGATION_ENABLEDfalse启用内存请求/字节聚合,刷出到 Micrometer/Prometheus
USAGE_AGGREGATION_INCLUDE_AGENT_NAMEfalse聚合开启时按客户端agent_name额外卷起;值为客户端可控,可能提升指标基数
ENTITY_COUNT_METRICS_ENABLEDtrue启用关键 aspect 实体计数的周期性 Micrometer/Prometheus 仪表(datahub.entity.count
ENTITY_COUNT_METRICS_UPDATE_INTERVAL_SECONDS3600计数刷新周期
ENTITY_COUNT_METRICS_INITIAL_DELAY_SECONDS60首次刷新延迟
ENTITY_COUNT_METRICS_SKIP_CACHEfalse每次刷新是否绕过 key-aspect 计数缓存
EBEAN_READ_POOL_ENABLED/EBEAN_READ_POOL_URLfalse/ 省略实体-aspect 读的可选 Ebean 读池;省略 URL 为同库拆分池,设 URL 为副本卸载。见 主存储读池
CASSANDRA_READ_POOL_ENABLED/CASSANDRA_READ_POOL_HOSTSfalse实体-aspect 读的可选 Cassandra 读会话
ENTITY_GRAPH_CACHE_ENABLEDGMS 上true启用 GMS 实体图缓存(Hazelcast 快照);Hazelcast 不可用或非 GMS pod 时设false
ENTITY_GRAPH_CACHE_CONFIG_FILE_ENABLED/ENTITY_GRAPH_CACHE_CONFIG_FILE/ENTITY_GRAPH_CACHE_CONFIG_JSON叠加图定义与边界;见 GMS 实体图缓存
DATAHUB_USE_INFERENCE_V2false智能断言训练路由到 V2 trainer;前置条件DATAHUB_USE_OBSERVE_MODELS=true
DATAHUB_USE_OBSERVE_MODELStrue门控 V1 预处理器能否加载 observe-models
DATAHUB_EXECUTOR_ENABLE_DELTA_BOUNDStrue门控 V1 trainer 是否发射 delta-space 预测边界
DATAHUB_EXECUTOR_LOG_GC_ENABLEDfalse启用摄取日志垃圾回收器(见第 4 节)
DATAHUB_EXECUTOR_ALLOW_CALL_STATEMENTSfalse允许自定义 SQL 断言中的CALL;需重启 executor
DATAHUB_CLIENT_CERT_PATH/DATAHUB_CLIENT_KEY_PATHCLI/SDK 出站 HTTPS 的 mTLS 客户端认证
DATAHUB_AUTH_TYPE为 CLI、默认 sink 与环境解析 emitter 选择 OAuth
CORP_USER_SIBLINGS_ENABLED启用每日 user-siblings 去重源
AUTH_GMS_SESSION_COOKIE_NAMESESSION前端在 OAuth2 登出时失效的 GMS 会话 cookie 名
INGESTION_MAX_SERIALIZED_NAME_LENGTH16 MB元数据反序列化时 JSON 属性名长度的可调上限
NOTIFICATION_LOGO_URL/NOTIFICATION_FOOTER_TEXT定制 SMTP 通知邮件的 logo 与页脚
LOG_AGGREGATOR_ENDPOINTopt-in将各服务日志投递到独立部署的日志聚合器,并启用 support bundle 的日志采集器

6. v2.1.1 ~ v2.1.4:热修复演进中的能力增量

热修复版本并非只有修 bug,v2.1.2 ~ v2.1.4 各引入了值得单独记录的产品与平台能力:

v2.1.2(12-Aug-2026)

  • 产品:批量血缘传播(UI 中单个自动化配置多方向 tag/term 传播,可选 tag 与 term 过滤);写者可向自己有编辑权的域创建实体(无需平台级创建权限,授权失败返回 403);GraphQL 搜索/自动补全/browse/quick-filter 的实体类型列表可配置;结构化属性搜索排序 opt-in(useAsRankFeature置位且SEARCH_STRUCTURED_PROPERTY_RANK_FEATURES_ENABLED开启,默认关;存量资产需RestoreIndices文档回填后才开始参与排序);结构化属性可单独退出全文索引(excludeFromFullTextSearch);Dataplex sync-back。
  • AI:Ask DataHub 工具审批卡片使用白话标题 + 实体链接、默认折叠详情;MCP 分块initializePOST 不再 400;RFC 8693 token-exchange 客户端注册。
  • Observe:新异常检测断言须先积累 14 天历史再告警;volume 断言预测更好地贴合亚日季节性;修复断言回填任务永久卡死。
  • 破坏性变更:MCP 服务器所有端点(/mcp/mcp/<slug>及旧路径)不再接受?token=查询参数,只接受Authorization: Bearer <token>头;带token查询参数的请求会得到 400 并附说明。无法自定义请求头的客户端可用mcp-remote配合--header "Authorization: Bearer <token>"

v2.1.3(19-Aug-2026)

  • 产品:内置 "View Self" 策略默认收紧为只读(仅 view page / get entity 自己的 profile,不再含 self 的编辑/删除)。
  • AI:integrations-service agent 注册表改为惰性解析,杜绝启动期循环导入导致 SYSTEM agent 工具集为空;search_documents/grep_documents工具描述引导用grep_documents读全文。
  • 平台:语义搜索管理台上线(按需重建索引 API、覆盖率与健康端点、Coverage/Check an asset/Run history/Try a search 控制台);aspect 写路径上一组缓存与异步优化降低 GMS 与主库负载(默认 aspect 生成的 contenteditable="false">【免费下载链接】datahubThe Context Platform for your Data and AI Stack项目地址: https://gitcode.com/GitHub_Trending/da/datahub

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/17 3:52:02

有魔法还是用不了高级模型?TaoToken 这样改 HTTP/1.1

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

作者头像 李华
网站建设 2026/9/17 3:50:52

EasyExcel 2.2.10 指定行与指定列样式设置实战指南

1. 先说结论&#xff1a;EasyExcel 2.2.10 的样式机制&#xff0c;为什么单独的行和列这么难搞用 EasyExcel 2.2.10 做过导出的人应该都有这个感受&#xff1a;普通导出太简单了&#xff0c;实体类加几个注解&#xff0c;一行doWrite就把本地文件写出来了。但一旦涉及到"给…

作者头像 李华
网站建设 2026/9/17 3:48:28

Zabbix 7.0容器化部署实战:OpenEuler信创环境避坑指南

先说结论&#xff1a;这套方案我已经在OpenEuler22.03 LTS上完整跑通了。如果你正在给国产化环境选监控系统&#xff0c;或者公司有信创要求必须用OpenEuler&#xff0c;又想用上Zabbix 7.0的新特性&#xff0c;那这一篇你直接抄作业就行。真要用起来&#xff0c;最大的感受是&…

作者头像 李华
网站建设 2026/9/17 3:47:34

行星齿轮组动力学建模与ode45求解实践

简介&#xff1a;面向机械工程、车辆工程与齿轮动力学方向的学习者和研究者&#xff0c;这份MATLAB代码资源聚焦行星齿轮组微分方程组的建模与数值求解。资源将太阳轮、行星轮、行星架和内齿圈构成的多体动力学问题转化为ODE初值问题&#xff0c;并通过ode45进行求解&#xff1…

作者头像 李华