大数据-255 离线数仓 - Atlas 数据仓库元数据管理 数据血缘关系 元数据

news/2024/12/21 6:37:50/

点一下关注吧!!!非常感谢!!持续更新!!!

Java篇开始了!

目前开始更新 MyBatis,一起深入浅出!

目前已经更新到了:

  • Hadoop(已更完)
  • HDFS(已更完)
  • MapReduce(已更完)
  • Hive(已更完)
  • Flume(已更完)
  • Sqoop(已更完)
  • Zookeeper(已更完)
  • HBase(已更完)
  • Redis (已更完)
  • Kafka(已更完)
  • Spark(已更完)
  • Flink(已更完)
  • ClickHouse(已更完)
  • Kudu(已更完)
  • Druid(已更完)
  • Kylin(已更完)
  • Elasticsearch(已更完)
  • DataX(已更完)
  • Tez(已更完)
  • 数据挖掘(已更完)
  • Prometheus(已更完)
  • Grafana(已更完)
  • 离线数仓(正在更新…)

章节内容

上节我们完成了:

  • Airflow 任务调度
  • 核心交易调度任务集成

在这里插入图片描述

数据仓库元数据管理

元数据(MetaData)狭义的解释是用来描述数据的数据。广义来看,除了业务逻辑直接读写处理的那些业务数据,所有其他用来维持整个系统运转所需的信息、数据都可以叫做元数据,如数据库中表的Schema信息,任务的血缘关系,用户和脚本、任务的权限映射关系信息等。

管理元数据的目的,是为了让用户能够更高效的使用数据,也是为了平台管理人员能更加有效的做好数据的维护管理工作。
但通常这些元数据信息是散落在平台的各个系统,各种流程中,它们的管理也可能或多或少可以通过各种子系统自身的工具,方案或者流程逻辑来实现。
元数据管理平台很重要的一个功能就是信息的收集,至于收集哪些信息,取决于业务的需求和需要解决的目标问题。
元数据管理平台还需要考虑如何恰当的形式对这些元数据信息进行展示,进一步的,如何将这些元数据信息通过服务的形式提供给周边上下游系统来使用,真正帮助大数据平台完成质量管理的闭环工作。
应该收集那些信息,没有绝对的标准,但是对大数据开发平台来说,常见的元数据元数据信息包括:

  • 表结构信息
  • 数据的空间存储,读写记录,权限归属和其他各类统计信息
  • 数据的血缘关系信息
  • 数据的业务属性信息

数据血缘关系

血缘信息或者叫Lineage的血统信息是什么,简单的说就是数据之间的上下游来源去向关系,数据从哪里来到哪里去,如果一个数据有问题,可以根据血缘根据上下游排查,看看到底在哪个环节出了问题。
此外,也可以通过数据的血缘关系,建立起生产这些数据的任务之间的依赖关系,进而辅助调度系统的工作调度,或者用来判断一个失败或错误的任务可能对哪些下游数据造成了影响等等。
分析数据的血缘关系看起来简单,但真的要做起来,并不容易,因为数据的来源多种多样,加工数据的手段,所使用的计算框架可能也各不相同,此外也不是所有的系统天生都具备获取相关信息的能力。而针对不同的系统,血缘关系具体能够分析到的粒度可能也不一样,有些可以做到表级别,有些甚至可以做到字段级别。

以Hive表为例,通过分析Hive脚本的执行计划,是可以做到相对精确的定位出字段级别的数据血缘关系的,而如果是一个MapReduce任务生成的数据,从外部来看,可能就只能通过分析MR任务输出的LOG日志信息来粗略判断目录级别的读写关系,从而间接推导数据的血缘依赖关系了。

数据的业务属性信息

业务属性有哪些呢?如一张表的统计口径信息,这张表干什么的呀用的,各个字段的具体统计方式,业务描述,业务标签,脚本逻辑的历史变迁记录,变迁原因,此外还包括对应的数据表格是谁负责开发的,具体数据业务部门归属等。数据的业务属性信息,首先是为业务服务的,它的采集和展示也就需要尽可能的和业务环境融合,只有这样才能真正发挥这部分元数据信息的作用。

很多一段时间内,市面上都没有成熟的解决方案,直到2015年,Hortonworks坐不住了,约了一众小伙伴公司倡议:开始整个数据治理方案,包含数据分类、集中策略引擎、数据血缘、安全和生命周期管理功能的Atlas!
(类似项目:2016年Linkdin新开源了whereHows)

Atlas简介

Atlas是Hadoop平台元数据框架:
Atlas是一组可扩展的核心基础治理服务,使企业能够有效,高效的满足Hadoop中合规性要求,并能与整个企业数据生态系统集成
Apache Atlas为组织提供了开放的元数据管理和治理功能,以建立数据资产的目录,对这些资产进行分类和治理,并为IT团队、数据分析团队提供围绕这些数据资产的协作功能。

什么是 Atlas 框架?

Apache Atlas 是一个开源的数据治理和元数据管理框架,最初由 Hortonworks 开发,后来成为 Apache 基金会的项目。它被设计为一种灵活、可扩展的元数据管理解决方案,能够支持企业级大数据生态系统的元数据管理需求。

Atlas 框架提供了一个集中化的平台,用于管理、分类、保护和发现大数据生态系统中的数据和元数据。它通过提供数据血缘追踪、影响分析、分类管理和数据审计等功能,帮助企业更好地理解和管理其数据资产。

在这里插入图片描述
Altas由元数据的收集,存储和查询展示三部分核心组件组成,此外,还会有一个管理后台对整体元数据的采集流程以及元数据格式定义和服务的部署等各项内容进行配置管理。
Altas包括以下组件:

  • Core,Atlas功能核心组件,提供元数据的获取与导出(Ingets、Export)、类型系统(Type System)、元数据存储索引查询等核心功能
  • Integration,Atlas对外集成模块,外部组件的元数据通过该模块将元数据给Altas管理
  • MetastoreSource,Atlas支持的元数据数据源,以插件的形式提供,当前支持从以下来源提取和管理元数据:(Hive、HBase、Sqoop、Kafka、Storm)
  • Applications,Altas的上层应用,可以用来查询由Atlas管理的元数据类型和对象
  • Graph Engine(图计算引擎),Atlas使用图模型管理元数据对象,图数据库提供了极大的灵活性,并能有效处理元数据对象之间的关系,除了管理图对象之外,图计算引擎还为元数据对象创建适当的索引,以便进行高效的访问,在Atlas 1.0之前采用Titan作为图存储引擎,从1.0开始采用JanusGraph作为图存储引擎,JanusGraph底层又分为两块:Metadata Store,采用HBase存储Atlas管理元数据。IndexStore采用Solr存储元数据的索引,便于高效搜索。

核心功能

元数据管理

Atlas 支持对 Hadoop 生态系统(如 HDFS、Hive、HBase、Kafka、Spark 等)中的数据资产进行集中管理。
提供了 REST API 和 Web UI,方便用户管理和查询元数据。

数据分类(Tagging)

允许用户为数据资产打标签,用于数据分类、搜索和权限控制。
支持基于标签的访问控制,帮助确保敏感数据的安全。

数据血缘分析

提供详细的数据血缘图,用于追踪数据从源头到最终使用的整个流转过程。
支持向前和向后追踪,帮助识别数据的上下游影响。

数据影响分析

通过数据血缘关系,可以分析数据的修改如何影响下游系统。
帮助团队提前评估和规避因数据变更带来的潜在风险。

数据审计

记录对元数据的所有操作,包括创建、修改和删除,提供全面的审计日志。
支持合规性需求,例如 GDPR、CCPA 等数据保护法规。

可扩展性

Atlas 提供了可扩展的元模型,用户可以根据需要定义自定义的元数据模型。
支持插件式架构,可以与各种数据源和处理工具集成。

搜索和发现

提供高级搜索功能,用户可以根据名称、标签或属性快速找到相关数据资产。
支持全文检索,帮助用户更高效地发现数据。

框架的架构

Atlas 的架构主要由以下几个部分组成:

元数据存储层

使用关系型数据库(如 PostgreSQL 或 MySQL)存储元数据。
提供高效的查询和管理能力。

服务层

提供一组 REST API 和 GraphQL API,用于与 Atlas 交互。
负责元数据的存储、检索、分类和血缘追踪。

索引和搜索

使用搜索引擎(如 Apache Solr 或 Elasticsearch)来索引元数据,支持高效的搜索和检索。

集成层

提供与 Hadoop 生态系统(如 Hive、HBase、Kafka 等)的无缝集成能力。
支持使用 Hook 和 Bridge 将第三方工具的元数据同步到 Atlas。

用户界面

提供基于 Web 的用户界面,用户可以通过直观的操作管理和浏览元数据。

安装配置

安装依赖

  • Maven(安装)
  • HBase(压缩包)
  • Solr(压缩包)
  • Atlas(编译)

官方只提供了源码,没有提供二进制的安装版本,所以需要编译。

解压配置

目前节点是:h122.wzk.icu 节点:

cd /opt/software
tar zxvf apache-atlas-1.2.0-sources.tar.gz
cd apache-atlas-sources-1.2.0/

执行结果如下图所示:
在这里插入图片描述
修改 pom.xml

vim pom.xml# 修改如下的内容
645 <npm-for-v2.version>3.10.8</npm-for-v2.version>
652 <hadoop.version>2.9.2</hadoop.version>

修改结果如下所示:
在这里插入图片描述

拷贝依赖

将HBase、Solr这些拷贝到对应的目录中,如果不拷贝这些包,会自动下载,但是包大下载速度慢,所以需要提前下载完,拷贝到对应的目录里:

cd /opt/software/apache-atlas-sources-1.2.0# 创建目录
cd distro/
mkdir solr
mkdir hbase# 拷贝软件包
cp /opt/software/solr-5.5.1.tgz ./solr/
cp /opt/software/hbase-1.1.2.tar.gz ./hbase/

操作过程如下所示:
在这里插入图片描述

编译源码

cd /opt/software/apache-atlas-sources-1.2.0
export MAVEN_OPTS="-Xms2g -Xmx2g"
mvn clean -DskipTests package -Pdist,embedded-hbase-solr

编译过程大约需要 600MB 的Jar包,很慢需要耐心等待:
在这里插入图片描述
编译结束后,编译结果在:

cd /opt/software/apache-atlas-sources-1.2.0/distro/target

可以看到对应的文件:

apache-atlas-1.2.0-bin.tar.gz

编译结果如下所示:
在这里插入图片描述


http://www.ppmy.cn/news/1556850.html

相关文章

不同协议下的接口测试方案设计

什么是多协议接口测试&#xff1f; 多协议接口测试是指在不同协议&#xff08;如HTTP、HTTPS、TCP/IP、SOAP、REST等&#xff09;下进行的接口测试。这类测试的主要目标是确保不同协议间的组件可以顺畅地进行通信&#xff0c;从而提高系统的整体可用性和稳定性。接口测试不仅可…

回归预测 | MATLAB实现CNN-BiLSTM卷积神经网络结合双向长短期记忆神经网络多输入单输出回归预测

回归预测 | MATLAB实现CNN-BiLSTM卷积神经网络结合双向长短期记忆神经网络多输入单输出回归预测 目录 回归预测 | MATLAB实现CNN-BiLSTM卷积神经网络结合双向长短期记忆神经网络多输入单输出回归预测预测效果基本介绍程序设计参考资料预测效果 基本介绍 CNN-BiLSTM,即卷积神经…

linux CentOS系统上卸载docker

一、停止Docker服务 首先&#xff0c;需要停止Docker服务。使用systemctl命令来停止Docker服务&#xff1a; bash复制代码sudo systemctl stop docker二、卸载Docker软件包 接下来&#xff0c;使用CentOS的包管理器yum来卸载Docker软件包。根据安装的Docker版本和组件&#…

Hmsc包开展群落数据联合物种分布模型分析通用流程(Pipelines)

HMSC&#xff08;Hierarchical Species Distribution Models&#xff09;是一种用于预测物种分布的统计模型。它在群落生态学中的应用广泛&#xff0c;可以帮助科学家研究物种在不同环境条件下的分布规律&#xff0c;以及预测物种在未来环境变化下的潜在分布范围。 举例来说&a…

点击数字层级从 admin.vue 跳转到 inviter-list.vue 组件

文章目录 1、admin.vue2、inviter-list.vue 1、admin.vue 好的&#xff0c;我们来分析一下代码中“层级”这一列的逻辑&#xff0c;并探讨它与后端的关联。 “层级” 列的逻辑 在您的代码中&#xff0c;“层级”列的渲染逻辑如下&#xff1a; <el-table-columnalign&quo…

# Oracle 深入学习 Part 11: Managing Tables(管理表)

作为oracle初学者&#xff0c;在此只讨论普通表类型。 oracle表中的数据类型 ​​​​ 数据类型主要分为四类&#xff1a;文本&#xff0c;数值&#xff0c;日期&#xff0c;二进制 文本&#xff1a; CHAR(N) &#xff1a;固定长字符类型&#xff0c;N为字符长度。内容不够…

自动驾驶控制与规划——Project 2: 车辆横向控制

目录 零、任务介绍一、环境配置二、算法三、代码实现四、效果展示 零、任务介绍 补全src/ros-bridge/carla_shenlan_projects/carla_shenlan_stanley_pid_controller/src/stanley_controller.cpp中的TODO部分。 一、环境配置 上一次作业中没有配置docker使用gpu&#xff0c;…

mfc140u.dll是什么文件?如何解决mfc140u.dll丢失的相关问题

遇到“mfc140u.dll文件丢失”的错误通常影响应用程序的运行&#xff0c;这个问题主要出现在使用Microsoft Visual C环境开发的软件中。mfc140u.dll是一个重要的系统文件&#xff0c;如果它丢失或损坏&#xff0c;会导致相关程序无法启动。本文将简要介绍几种快速有效的方法来恢…