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

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

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

正式安装

shell 复制代码
cd /opt/software/apache-atlas-sources-1.2.0/distro/target

# 解压缩
tar zxvf apache-atlas-1.2.0-bin.tar.gz

mv apache-atlas-1.2.0/ /opt/servers/atlas-1.2.0

过程结果如下所示:

环境变量

shell 复制代码
# 修改 /etc/profile,设置环境变量 ATLAS_HOME
vim /etc/profile

# atlas
export ATLAS_HOME=/opt/servers/atlas-1.2.0
export PATH=$PATH:ATLAS_HOME/bin

配置的结果如下所示:

启动服务

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

shell 复制代码
cd $ATLAS_HOME/bin
./atlas_start.py

执行结果如下图所示:

查看进程

shell 复制代码
ps -ef | grep atlas

可以看到进程有:

停止服务

shell 复制代码
cd $ATLAS_HOME/bin
./atlas_stop.py

检查Solr

shell 复制代码
cd /opt/servers/atlas-1.2.0/solr/bin
./solr status

Solr process 25038 running on port 9838

执行结果如下图所示:

访问项目

shell 复制代码
http://h122.wzk.icu:21000

打开的页面如下所示:

登录账号密码都是 admin

Hive血缘导入

拷贝配置

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

shell 复制代码
ln -s $ATLAS_HOME/conf/atlas-application.properties $HIVE_HOME/conf/atlas-application.properties

拷贝Jar包

shell 复制代码
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.jar

ln -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.jar

ln -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

shell 复制代码
vim $HIVE_HOME/conf/hive-site.xml

增加hook

xml 复制代码
<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变量

shell 复制代码
# 之前没弄过
mv $HIVE_HOME/conf/hive-env.sh.template $HIVE_HOME/conf/hive-env.sh
vim $HIVE_HOME/conf/hive-env.sh

写入内容如下:

shell 复制代码
export HIVE_AUX_JARS_PATH=/opt/servers/atlas-1.2.0/hook/hive

对应结果如下所示:

批量导入

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

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

执行后,需要输入账号密码:

成功导出之后,我们可以看到控制台输出了内容:

访问结果

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

shell 复制代码
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

最终的血缘关系:

相关推荐
SelectDB39 分钟前
拉卡拉 x Apache Doris:统一金融场景 OLAP 引擎,查询提速 15 倍,资源直降 52%
大数据·数据库·数据分析
合合技术团队1 小时前
实测对比|法国 AI 独角兽公司发布的“最强 OCR”,实测效果如何?
大数据·人工智能·图像识别
lilye663 小时前
程序化广告行业(39/89):广告投放的数据分析与优化秘籍
大数据·人工智能·数据分析
中科岩创5 小时前
某地老旧房屋自动化监测项目
大数据·物联网·自动化
viperrrrrrrrrr76 小时前
大数据学习(95)-谓词下推
大数据·sql·学习
汤姆yu6 小时前
基于python大数据的旅游可视化及推荐系统
大数据·旅游·可视化·算法推荐
zhangjin12227 小时前
kettle从入门到精通 第九十四课 ETL之kettle MySQL Bulk Loader大批量高性能数据写入
大数据·数据仓库·mysql·etl·kettle实战·kettlel批量插入·kettle mysql
哈哈真棒7 小时前
hadoop 集群的常用命令
大数据
阿里云大数据AI技术8 小时前
百观科技基于阿里云 EMR 的数据湖实践分享
大数据·数据库
泛微OA办公系统8 小时前
上市电子制造企业如何实现合规的质量文件管理?
大数据·制造