元数据管理与数据治理平台:Apache Atlas 基本搜索 Basic Search

文中内容仅限技术学习与代码实践参考,市场存在不确定性,技术分析需谨慎验证,不构成任何投资建议。


Apache Atlas 框架是一套可扩展的核心基础治理服务,使企业能够有效、高效地满足 Hadoop 中的合规性要求,并支持与整个企业数据生态系统集成。这将通过使用规范和取证模型,以及技术和运营审计以及由业务分类元数据丰富的沿袭,在 Hadoop 中提供真正的可视性。它还使任何元数据使用者能够互操作,而无需彼此独立的接口------元数据存储是通用的。通过利用 Apache Ranger 来维护元数据的准确性,以防止在运行时对数据进行未经授权的访问。安全性基于角色 (RBAC) 和属性 (ABAC)。

基本搜索

Basic Search

基本搜索允许你使用实体的 typename、关联的 classification/tag 进行查询,并支持对实体属性以及 classification/tag 属性进行过滤。

整个查询结构可以用以下 JSON 结构(称为 SearchParameters)表示

json 复制代码
{
  "typeName":               "hive_column",
  "excludeDeletedEntities": true,
  "classification":         "PII",
  "query":                  "",
  "offset":                 0,
  "limit":                  25,
  "entityFilters":          {  },
  "tagFilters":             { },
  "attributes":             [ "table", "qualifiedName"]
}

字段说明

json 复制代码
typeName:               要查找的实体类型
excludeDeletedEntities: 搜索是否应排除已删除的实体?(默认值:true)
classification:         仅包含具有给定 classification 的实体
query:                  实体应包含的任意自由文本(通用/通配符查询可能较慢)
offset:                 结果集的起始偏移量(用于分页)
limit:                  要获取的最大结果数
entityFilters:          实体属性过滤条件
tagFilters:             classification 属性过滤条件
attributes:             要在搜索结果中包含的属性

属性过滤支持对多个属性进行 AND/OR 条件组合。

过滤示例(针对 hive_table 属性)

  • 单属性
json 复制代码
   {
     "typeName":               "hive_table",
     "excludeDeletedEntities": true,
     "offset":                 0,
     "limit":                  25,
     "entityFilters": {
        "attributeName":  "name",
        "operator":       "contains",
        "attributeValue": "customers"
     },
     "attributes": [ "db", "qualifiedName" ]
   }
  • 多属性 OR
json 复制代码
   {
     "typeName":               "hive_table",
     "excludeDeletedEntities": true,
     "offset":                 0,
     "limit":                  25,
     "entityFilters": {
        "condition": "OR",
        "criterion": [
           {
              "attributeName":  "name",
              "operator":       "contains",
              "attributeValue": "customers"
           },
           {
              "attributeName":  "name",
              "operator":       "contains",
              "attributeValue": "provider"
           }
        ]
     },
     "attributes": [ "db", "qualifiedName" ]
   }
  • 多属性 AND
json 复制代码
   {
     "typeName":               "hive_table",
     "excludeDeletedEntities": true,
     "offset":                 0,
     "limit":                  25,
     "entityFilters": {
        "condition": "AND",
        "criterion": [
           {
              "attributeName":  "name",
              "operator":       "contains",
              "attributeValue": "customers"
           },
           {
              "attributeName":  "owner",
              "operator":       "eq",
              "attributeValue": "hive"
           }
        ]
     },
     "attributes": [ "db", "qualifiedName" ]
  }

支持的过滤运算符

  • LT(符号:<, lt)适用于数值、日期属性
  • GT(符号:>, gt)适用于数值、日期属性
  • LTE(符号:<=, lte)适用于数值、日期属性
  • GTE(符号:>=, gte)适用于数值、日期属性
  • EQ(符号:eq, =)适用于数值、日期、字符串属性
  • NEQ(符号:neq, !=)适用于数值、日期、字符串属性
  • LIKE(符号:like, LIKE)适用于字符串属性
  • STARTS_WITH(符号:startsWith, STARTSWITH)适用于字符串属性
  • ENDS_WITH(符号:endsWith, ENDSWITH)适用于字符串属性
  • CONTAINS(符号:contains, CONTAINS)适用于字符串属性

CURL 示例

shell 复制代码
curl -sivk -g
    -u <user>:<password>
    -X POST
    -d '{
            "typeName":               "hive_table",
            "excludeDeletedEntities": true,
            "classification":         "",
            "query":                  "",
            "offset":                 0,
            "limit":                  50,
            "entityFilters": {
               "condition": "AND",
               "criterion": [
                  {
                     "attributeName":  "name",
                     "operator":       "contains",
                     "attributeValue": "customers"
                  },
                  {
                     "attributeName":  "owner",
                     "operator":       "eq",
                     "attributeValue": "hive"
                  }
               ]
            },
            "attributes": [ "db", "qualifiedName" ]
          }'
    <protocol>://<atlas_host>:<atlas_port>/api/atlas/v2/search/basic

Apache Atlas 概览

Apache Atlas 是一套可扩展且可延伸的核心基础治理服务------使企业能够在 Hadoop 中高效且有效地满足其合规要求,并允许与整个企业数据生态系统进行集成。

Apache Atlas 为组织提供开放的元数据管理和治理能力,用于构建其数据资产目录,对这些资产进行分类和治理,并为数据科学家、分析师和数据治理团队提供围绕这些数据资产的协作能力。

特性

元数据类型与实例

  • 为各种 Hadoop 和非 Hadoop 元数据预定义类型
  • 具备为待管理元数据定义新类型的能力
  • 类型可包含原始属性、复杂属性、对象引用;可从其他类型继承
  • 类型的实例(称为实体)捕获元数据对象详情及其关系
  • 提供 REST API 以便更轻松地与类型和实例进行集成

分类

  • 具备动态创建分类的能力------例如 PII、EXPIRES_ON、DATA_QUALITY、SENSITIVE
  • 分类可包含属性------例如在 EXPIRES_ON 分类中的 expiry_date 属性
  • 实体可与多个分类关联,便于发现和安全策略执行
  • 通过血缘关系传播分类------自动确保分类随数据在各种处理过程中流转

血缘

  • 直观的 UI 查看数据在各类流程中的血缘
  • 提供 REST API 以访问和更新血缘信息

搜索/发现

  • 直观的 UI 按类型、分类、属性值或自由文本搜索实体
  • 丰富的 REST API 以复杂条件进行搜索
  • SQL 风格的实体查询语言------领域特定语言(DSL)

安全与数据脱敏

  • 针对元数据访问的细粒度安全控制,可对实体实例及添加/更新/移除分类等操作进行权限管控
  • 与 Apache Ranger 集成,可根据 Apache Atlas 中实体关联的分类进行基于授权的访问控制/数据脱敏。例如:
    • 谁能访问被分类为 PII、SENSITIVE 的数据
    • 客户服务用户仅能看到被分类为 NATIONAL_ID 的列的最后四位

快速开始

API 文档

开发者设置文档

风险提示与免责声明

本文内容基于公开信息研究整理,不构成任何形式的投资建议。历史表现不应作为未来收益保证,市场存在不可预见的波动风险。投资者需结合自身财务状况及风险承受能力独立决策,并自行承担交易结果。作者及发布方不对任何依据本文操作导致的损失承担法律责任。市场有风险,投资须谨慎。

相关推荐
千桐科技3 天前
DataX 执行引擎正式加入:qData 开源版 v1.6.0 新增 Quartz + DataX 轻量运行模式!
java·大数据·开源·数据治理·数据中台·qdata
曾阿伦4 天前
Windows 下运行 Hadoop 并部署到 AWS EMR 指南
hadoop·windows·aws
极光代码工作室4 天前
基于Spark的日志监控与分析平台
大数据·hadoop·python·spark·数据可视化
Irene19915 天前
大数据开发的常见实践:把 SQL 直接写在 Shell 脚本里 ER图 数据血缘
sql·数据血缘·er
liuxiaowei36 天前
Winform+WPF双框架实战:喷涂工艺SCADA上位机从0到1搭建(附采集监控源码+车间踩坑实录)
大数据·hadoop·wpf
胡耀超6 天前
从一次批量爬取到生产同步:问题变了,建设边界也要跟着变
爬虫·python·系统架构·数据治理·数据同步·接口设计·爬虫工程
hkNaruto9 天前
【大数据】《传统Hadoop大数据技术入门:补充与进阶——从数据格式到智能决策的问答实录》
大数据·hadoop·分布式
牛奶咖啡139 天前
大数据Hadoop运维应用实践——双NameNode高可用Hadoop集群架构(下)
大数据·hadoop·hadoop集群配置文件解析·hadoop高可用集群安装部署·配置指定多台服务器相互免密·配置hadoop服务开机自启·ansible部署hadoop
李昊哲小课10 天前
spark4 集群安装
大数据·hadoop·zookeeper·spark
buligbulig10 天前
Hadoop环境安装和集群创建
大数据·hadoop·分布式