大数据-256 离线数仓 - Atlas 数据仓库元数据管理 正式安装 启动服务访问 Hive血缘关系导入

news/2024/12/31 7:22:32/

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

Java篇开始了!

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

目前已经更新到了:

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

章节内容

  • Atlas 数据仓库元数据管理
  • 数据血缘关系 元数据

在这里插入图片描述

上节进度

上节我们完成到了 对 Atlas 的源码编译,下面我们正式的进行安装。

数据仓库元数据管理

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

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

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

Atlas

正式安装

cd /opt/software/apache-atlas-sources-1.2.0/distro/target# 解压缩
tar zxvf apache-atlas-1.2.0-bin.tar.gzmv apache-atlas-1.2.0/ /opt/servers/atlas-1.2.0

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

环境变量

# 修改 /etc/profile,设置环境变量 ATLAS_HOME
vim /etc/profile# atlas
export ATLAS_HOME=/opt/servers/atlas-1.2.0
export PATH=$PATH:ATLAS_HOME/bin

配置的结果如下所示:
在这里插入图片描述

启动服务

刷新环境变量之后,启动服务:

cd $ATLAS_HOME/bin
./atlas_start.py

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

查看进程

ps -ef | grep atlas

可以看到进程有:
在这里插入图片描述

停止服务

cd $ATLAS_HOME/bin
./atlas_stop.py

检查Solr

cd /opt/servers/atlas-1.2.0/solr/bin
./solr statusSolr process 25038 running on port 9838

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

访问项目

http://h122.wzk.icu:21000

打开的页面如下所示:
在这里插入图片描述
登录账号密码都是 admin
在这里插入图片描述

Hive血缘导入

拷贝配置

将 $ATLAS_HOME/conf/atlas-application.properties 拷贝到 $HIVE_HOME/conf 目录下

ln -s $ATLAS_HOME/conf/atlas-application.properties $HIVE_HOME/conf/atlas-application.properties

拷贝Jar包

ln -s $ATLAS_HOME/server/webapp/atlas/WEB-INF/lib/jackson-jaxrs-base-2.9.9.jar $ATLAS_HOME/hook/hive/atlas-hive-plugin-impl/jackson-jaxrs-base-2.9.9.jarln -s $ATLAS_HOME/server/webapp/atlas/WEB-INF/lib/jackson-jaxrs-json-provider-2.9.9.jar $ATLAS_HOME/hook/hive/atlas-hive-plugin-impl/jackson-jaxrs-json-provider-2.9.9.jarln -s $ATLAS_HOME/server/webapp/atlas/WEB-INF/lib/jackson-module-jaxb-annotations-2.9.9.jar $ATLAS_HOME/hook/hive/atlas-hive-plugin-impl/jackson-module-jaxb-annotations-2.9.9.jar

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

修改Hive

vim $HIVE_HOME/conf/hive-site.xml

增加hook

<property><name>hive.exec.post.hooks</name><value>org.apache.atlas.hive.hook.HiveHook</value>
</property>

写入内容如下所示:
在这里插入图片描述
在 $HIVE_HOME/conf/hive-env.sh中添加HIVE_AUX_JARS_PATH变量

# 之前没弄过
mv $HIVE_HOME/conf/hive-env.sh.template $HIVE_HOME/conf/hive-env.sh
vim $HIVE_HOME/conf/hive-env.sh

写入内容如下:

export HIVE_AUX_JARS_PATH=/opt/servers/atlas-1.2.0/hook/hive

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

批量导入

我们需要Hive可以正常启动,在执行过程中要输入admin/admin账号密码

# 控制台执行 hive
sh /opt/servers/atlas-1.2.0/bin/import-hive.sh

执行后,需要输入账号密码:
在这里插入图片描述
成功导出之后,我们可以看到控制台输出了内容:
在这里插入图片描述

访问结果

打开刚才项目,Search中的选项有新的变化:

http://h122.wzk.icu:21000

对应结果如下图所示:
在这里插入图片描述
Hive Hook 可以捕获如下的操作:

  • create database
  • create table/view, create table as select
  • load, import, export
  • DMLs(insert)
  • alter database
  • alter table
  • alter view

最终的血缘关系:
在这里插入图片描述


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

相关文章

攻防世界web新手第四题easyphp

<?php highlight_file(__FILE__); $key1 0; $key2 0;$a $_GET[a]; $b $_GET[b];if(isset($a) && intval($a) > 6000000 && strlen($a) < 3){if(isset($b) && 8b184b substr(md5($b),-6,6)){$key1 1;}else{die("Emmm...再想想&quo…

理想的未来在AI——李想深度解析理想汽车的智能化之路

摘要&#xff1a; 在2024年的AI Talk中&#xff0c;理想汽车董事长兼CEO李想分享了他对人工智能的深刻见解和理想汽车在智能化道路上的最新进展。本文整理了访谈的精华内容&#xff0c;探讨了李想如何将理想汽车从传统车企转型为人工智能企业&#xff0c;并展望了人工智能技术如…

第一个C++程序|cin和cout|命名空间

第一个C程序 基础程序 使用DevC5.4.0 写一个C程序 在屏幕上打印hello world #include <iostream> using namespace std;int main() {cout << "hello world" << endl;return 0; } 运行这个C程序 F9->编译 F10->运行 F11->编译运行 mai…

docker-开源nocodb,使用已有数据库

使用已有数据库 创建本地数据库 数据库&#xff1a;nocodb 用户&#xff1a;nocodb 密码&#xff1a;xxxxxx修改docker-compose.yml 默认网关的 IP 地址是 172.17.0.1&#xff08;适用于 bridge 网络模式&#xff09;version: "2.1" services:nocodb:environment:…

TCP 传输可靠性保障

TCP 如何保证传输的可靠性&#xff1f; TCP传输可靠性的保障主要通过以下几个核心机制实现&#xff1a; ‌1. 三次握手与连接管理‌&#xff1a; TCP在建立连接时采用三次握手过程&#xff0c;确保通信双方实体真实存在&#xff0c;并同步连接参数。这一过程为后续的可靠数据传…

Java连接HANA数据库

package hs.hsapp.util; import java.sql.*; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class HanaJdbc { private static final String DRIVER “com.sap.db.jdbc.Driver”; //jdbc 4.0 private static…

HarmonyOS NEXT 实战之元服务:静态案例效果---手机查看电量

背景&#xff1a; 前几篇学习了元服务&#xff0c;后面几期就让我们开发简单的元服务吧&#xff0c;里面丰富的内容大家自己加&#xff0c;本期案例 仅供参考 先上本期效果图 &#xff0c;里面图片自行替换 效果图1完整代码案例如下&#xff1a; import { authentication } …

React 组件通信完整指南 以及 自定义事件发布订阅系统

React 组件通信完整指南 1. 父子组件通信 1.1 父组件向子组件传递数据 // 父组件 function ParentComponent() {const [data, setData] useState(Hello from parent);return <ChildComponent message{data} />; }// 子组件 function ChildComponent({ message }) {re…