尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

DataHub Views 完全指南:用可复用的筛选视图锁定数据目录边界

发布时间:2026/9/16 20:26:14

资讯中心
01
ARTICLE

DataHub Views 完全指南:用可复用的筛选视图锁定数据目录边界

DataHub Views 完全指南:用可复用的筛选视图锁定数据目录边界
DataHub Views 完全指南用可复用的筛选视图锁定数据目录边界【免费下载链接】datahubThe Context Platform for your Data and AI Stack项目地址: https://gitcode.com/GitHub_Trending/da/datahubViews视图是 DataHub 提供的一组可保存、可复用的筛选条件集合激活某个 View 后搜索结果、浏览页面、首页推荐以及各类资产列表会自动收窄到与该 View 匹配的资产范围内。本文基于 DataHub 仓库中 Views 功能文档结合前端构建器、GraphQL Resolver 与后端 ViewService 的源码实现系统讲解 Views 的创建、权限、默认视图、AI 场景Ask DataHub / MCP以及 CLI 与 GraphQL 的高级用法帮助你按团队、域、平台或环境为不同角色划定清晰可见的数据边界。Views 能解决什么问题在数据资产规模增长后全量搜索结果往往混杂着与你无关的资产。Views 的核心价值在于聚焦聚焦关键资产—— 只展示你所在团队拥有的资产、某个特定 Domain 内的资产或某个特定平台上的资产加速新用户上手—— 管理员可设置组织级默认 View让新用户一进入目录就看到经过挑选的相关资产切片约束 AI 搜索范围—— 将 View 绑定到服务账户使 MCP server 发起的每次搜索都限定在既定边界内避免 AI Agent 越界检索无关数据。Public 与 Personal 两类 ViewView 按其可见范围分为两类两者的权限模型完全不同类型可见范围谁可以创建可作为Public全局所有用户仅限管理员用户默认、组织默认、服务账户默认Personal私有仅创建者本人任何用户仅限用户个人默认任何用户都可以创建Personal视图供自己使用Public视图则面向整个组织共享需要Manage Public Views平台权限默认授予管理员。这一权限逻辑在前端与后端都有对应实现。前端构建器将新建 View 的初始状态定义为DataHubViewType.Personal见 datahub-web-react/src/app/entityV2/view/types.ts而在 GraphQL 服务端ViewUtils.canCreateView 的判定规则与文档完全一致Personal 类型直接放行Global 类型则必须通过AuthorizationUtils.canManageGlobalViews(context)校验。权限的最终定义位于 metadata-utils/src/main/java/com/linkedin/metadata/authorization/PoliciesConfig.javapublic static final Privilege MANAGE_GLOBAL_VIEWS Privilege.of( MANAGE_GLOBAL_VIEWS, Manage Public Views, Create, update, and delete any Public (shared) Views.);该权限默认被纳入 Admin 角色的权限集合中见同文件的ADMIN_POLICY权限列表PoliciesConfig.java这就是默认授予管理员的代码来源。创建 View在界面中创建一个 View 的完整步骤点击搜索栏中的View 选择器点击 Create View选择Public或Personal为 View 命名挑选筛选条件实体类型、平台、Domain、标签、所有者等点击Save。你也可以在搜索结果页直接把当前使用的搜索筛选条件一键保存为 View。从源码角度看一个 View 的定义由前端构建器datahub-web-react/src/app/entityV2/view/builder/ 下的ViewBuilder.tsx、ViewBuilderForm.tsx、SelectFilterValuesTab.tsx等组件组装为如下结构见 types.ts{ viewType: DataHubViewType; // PERSONAL | GLOBAL name: string; description?: string | null; definition?: { entityTypes?: EntityType[] | null; // 该 View 覆盖的实体类型 filter?: DataHubViewFilter; // 筛选条件 }; }其中filter由逻辑运算符AND/OR 若干 Facet 条件组成每个条件包含field如platform、domain、tag、owner、condition、values与negated四个字段见 datahub-web-react/src/graphql/view.graphql。前端通过 utils.ts 的convertStateToUpdateInput将构建器状态转换成 GraphQL 变更入参。服务端收到createView变更后CreateViewResolver.java先做权限校验再调用ViewService.createView持久化。后端创建逻辑ViewService.java的关键步骤包括通过UUID.randomUUID().toString()生成 View 的唯一 ID作为DataHubViewKey组装DataHubViewInfo对象记录type、name、description、definition并用当前 actor 与时间戳生成AuditStamp即created/lastModified以 MetadataChangeProposal 形式写入 GMS返回urn:li:dataHubView:uuid形式的 URN。另外View 的筛选条件在写库前会经过 ViewUtils.mapFilter 转换AND 逻辑被编码为单个ConjunctiveCriterion中的多条CriterionOR 逻辑则编码为多个各自独立的ConjunctiveCriterion——这也是高级筛选里匹配所有条件 / 匹配任一条件的底层实现。编辑与删除 View打开 View 选择器点击任意 View 右侧的...菜单即可重命名、更新筛选条件或删除。Personal 视图只能由创建者本人修改与删除Public 视图由拥有Manage Public Views权限的管理员管理。服务端的校验逻辑在 ViewUtils.canUpdateView 中Global 视图要求canManageGlobalViews通过或者当前 actor 就是创建者Personal 视图则严格要求created.actor与当前 actor 的 URN 相等isViewOwner见 ViewUtils.java。View 生效的位置激活某个 View 后它会统一收窄以下界面的展示范围搜索结果页首页home pageDomain 详情页Data Product 详情页快捷筛选quick filters导航栏中的实体数量统计。也就是说View 不是仅作用于搜索框的临时筛选而是一个贯穿整个 UI 的上下文边界一旦激活便处处生效。默认视图Default Views你可以设置一个默认 View这样每次打开 DataHub、发起 Ask DataHub 对话或通过 MCP server 查询时它都会被自动应用。默认值分为两个层级。个人默认Personal Default任何用户都可以通过...菜单 Make my default选择自己的默认视图可以是任意 Public 或 Personal 视图。个人默认的优先级始终高于组织默认。组织默认Organization Default管理员可以通过...菜单 Make organization default将某个 Public 视图指定为组织级默认。对于没有设置个人默认的用户组织默认会自动生效。该操作同样需要Manage Public Views权限。无论在哪种情况下你在会话中都可以随时切换或清除当前激活的 View。在 Ask DataHub 中使用 View在 Ask DataHub 的对话输入框旁点击View 选择器选择任意 Personal 或 Public 视图该 View 将约束 AI 助手在整个对话过程中的每一次检索。如果未主动选择则使用组织默认视图当组织默认已设置时在 Slack 与 Microsoft Teams 渠道中组织默认视图始终自动生效。为服务账户绑定 View约束 AI Agent你可以为服务账户分配一个 View使通过MCP server发起的所有搜索都被限定在该 View 范围内。配置步骤进入Settings Users Groups Service Accounts在Default View下拉框中选择一个Public视图。若服务账户未设置视图则回退使用组织默认视图。需要注意的限制只有 Public全局视图可以分配给服务账户Personal 视图不支持。典型应用场景为市场团队的 AI Agent 绑定一个 Marketing Data 视图使其只检索营销数据创建一个 Production Only 视图让 Agent 只搜索生产环境资产将 Agent 限定在单一平台如 Snowflake。管理所有 View进入Settings My Views可以集中查看自己名下及组织内可见的全部 Personal 与 Public 视图并在此统一进行创建、编辑、删除或默认值设置。前端对应的实现是 ManageViews.tsx 与 ViewsList.tsx列表接口由listMyViews与listGlobalViews两个 GraphQL 查询提供view.graphql后端分别由 ListMyViewsResolver.java 与 ListGlobalViewsResolver.java 处理。权限总表操作谁可以执行创建个人视图任何用户创建公共视图拥有Manage Public Views权限的管理员编辑 / 删除个人视图创建该视图的用户编辑 / 删除公共视图拥有Manage Public Views权限的管理员设置个人默认任何用户仅限自己设置组织默认拥有Manage Public Views权限的管理员设置服务账户默认视图拥有Manage Service Accounts权限的管理员其中Manage Service Accounts权限同样定义在 PoliciesConfig.java 中描述为 Create, update, and delete service accounts for programmatic API access.默认属于 Admin 角色。高级用法CLI 与 GraphQL 直连通过 UI 使用时会自动应用默认 View但使用 CLI 或 GraphQL API 直接调用时默认 View 不会自动生效必须显式传入 View 的 URN。CLI--view参数在datahub search命令中通过--view指定视图见 CLI search 文档datahub search * --view urn:li:dataHubView:my-view-id--view参数的类型为 string含义是 DataHub View URN to applysearch.md。你可以先执行datahub search diagnose检查搜索配置再配合--filter如--filter platformsnowflake做更精细的组合筛选。GraphQLviewUrn参数在任何搜索类查询中传入viewUrn即可限定范围{ searchAcrossEntities( input: { query: *, count: 10, viewUrn: urn:li:dataHubView:my-view-id } ) { total searchResults { entity { urn type } } } }viewUrn不仅支持searchAcrossEntities还支持scrollAcrossEntities、aggregateAcrossEntities、browseV2以及其他搜索相关的 GraphQL 查询。前端各搜索入口正是通过这一参数将激活的 View 透传到后端例如 EmbeddedListSearch.tsx 与 ViewDropdownMenu.tsx 中均携带viewUrn这也解释了为什么激活 View 后搜索结果、浏览页面与推荐列表会同步收窄。小结DataHub Views 是以可复用筛选条件划定数据目录边界的统一机制Personal/Public 两级可见性配合Manage Public Views权限模型保证了个人自由度与组织治理的平衡个人默认、组织默认与服务账户默认三级默认策略则让聚焦能力可以自动传播到普通用户、Ask DataHub 对话、Slack/Teams 渠道与 MCP 驱动的 AI Agent。对于需要编程化使用的场景CLI 的--view与 GraphQL 的viewUrn提供了与 UI 等价的边界控制能力。从本仓库源码ViewService.java、ViewUtils.java、view.graphql可以看出Views 的创建、鉴权、筛选编码与查询透传构成了一个完整闭环是治理大规模数据目录和约束 AI 检索范围的基础设施级功能。【免费下载链接】datahubThe Context Platform for your Data and AI Stack项目地址: https://gitcode.com/GitHub_Trending/da/datahub创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。