1、概述2、HIVE注释管理
2.1、DDL
2.1.1、创建时添加注释2.1.2、修改注释 2.2、在MySQL查看HIVE元数据
2.2.1、查看库2.2.2、查看表2.2.3、查看字段2.2.4、查看分区2.2.5、查看全部 3、血缘管理工具:Atlas(待完成)
3.1、简介安装Solr安装AtlasAtlas集成Hive
1、概述元数据(metadata):描述数据的数据(如:字段的 名称、注释、数据类型、大小…)元数据管理:注释管理、血缘分析、元数据可视化…
作用:帮助开发人员快速理解业务和查找字段,降低开发的运维成本
| 元数据分类 | 说明 | 示例 |
|---|---|---|
| 技术元数据 | ||
| 业务元数据 |
在本文,HIVE元数据信息存到MySQL
在数仓建设中,建库建表时要添加注释(COMMENT)
对于一些历史遗留的缺乏注释的表,要对其添加注释
解决HIVE中文注释乱码:
https://yellow520.blog.csdn.net/article/details/115960751
建库时添加注释
CREATE DATAbase b0 COMMENT '测试库'; USE b0;
修改库的注释(暂缺,有空再去官网看看)
建表时添加注释
CREATE TABLE t0(
c0 INT COMMENT '字段注释0',
c1 STRING COMMENT '字段注释1'
)COMMENT "表注释"
PARTITIonED BY (
p0 STRING COMMENT "分区注释0",
p1 INT COMMENT "分区注释1"
);
创建视图时添加注释
CREATE VIEW v0(
c0 COMMENT '列注释0',
c1 COMMENT '列注释1')
COMMENT '视图注释'
AS
SELECt c0,c1 FROM t0;
2.1.2、修改注释
修改表注释
ALTER TABLE t0 SET TBLPROPERTIES('comment'='修改表注释');
修改字段注释ALTER TABLE 表名 CHANGE COLUMN 旧列名 新列名 数据类型 COMMENT '修改列注释';
ALTER TABLE t0 CHANGE COLUMN c1 c1 STRING COMMENT '修改列注释';
修改分区注释(暂缺)
2.2、在MySQL查看HIVE元数据切换到存储HIVE元数据的库
USE metastore;2.2.1、查看库
SELECt
`DB_ID`, -- 库ID
`DESC`, -- 库注释
`DB_LOCATION_URI`, -- 库在HDFS的位置
`NAME` -- 库名
FROM `DBS`;
2.2.2、查看表
查看表和表注释
SELECt b.`NAME`, -- 库名 t.`TBL_NAME`, -- 表名 t.`TBL_TYPE`, -- 表类型 c.`PARAM_VALUE`, -- 表注释 t.`VIEW_EXPANDED_TEXT` -- 视图的SQL FROM `DBS` b LEFT JOIN `TBLS` t ON b.`DB_ID`=t.`DB_ID` LEFT JOIN ( SELECt `TBL_ID`,`PARAM_VALUE` FROM `TABLE_PARAMS` WHERe `PARAM_KEY`='comment' )c ON t.`TBL_ID`=c.`TBL_ID`;2.2.3、查看字段
字段注释:COLUMNS_V2的COMMENT
SELECt
t.`TBL_NAME`, -- 表名
c.`COLUMN_NAME`, -- 字段名
c.`COMMENT`, -- 字段注释
c.`TYPE_NAME` -- 字段的数据类型
FROM `TBLS`t
LEFT JOIN `SDS`s ON s.`SD_ID`=t.`SD_ID`
LEFT JOIN `COLUMNS_V2`c ON s.`CD_ID`=c.`CD_ID`;
2.2.4、查看分区
SELECt
t.`TBL_NAME`, -- 表名
p.`PKEY_NAME`, -- 分区名
p.`PKEY_COMMENT`, -- 分区注释
p.`PKEY_TYPE` -- 分区的数据类型
FROM `PARTITION_KEYS`p
LEFT JOIN `TBLS`t ON t.`TBL_ID`=p.`TBL_ID`;
2.2.5、查看全部
SELECt
b.`NAME`, -- 库名
b.`DESC`, -- 库注释
t.`TBL_NAME`, -- 表名
t.`TBL_TYPE`, -- 表类型
tc.`PARAM_VALUE`, -- 表注释
c.`COL_NAME`, -- 字段名
c.`COL_COMMENT`, -- 字段注释
c.`DATA_TYPE`, -- 数据类型
c.`COL_TYPE` -- 字段类型(列or分区)
-- 库
FROM `DBS` b
-- 表
INNER JOIN `TBLS` t ON b.`DB_ID`=t.`DB_ID`
-- 表注释
LEFT JOIN (
SELECt `TBL_ID`,`PARAM_VALUE`
FROM `TABLE_PARAMS`
WHERe `PARAM_KEY`='comment'
)tc ON t.`TBL_ID`=tc.`TBL_ID`
-- 字段注释
LEFT JOIN(
(
-- 分区注释
SELECt
`TBL_ID`, -- 表ID
`PKEY_NAME` `COL_NAME`, -- 分区名
`PKEY_COMMENT` `COL_COMMENT`, -- 分区注释
`PKEY_TYPE` `DATA_TYPE`, -- 数据类型
'partition' `COL_TYPE` -- 类型
FROM `PARTITION_KEYS`
)UNIOn ALL(
-- 列注释
SELECt
t.`TBL_ID` `TBL_ID`, -- 表ID
c.`COLUMN_NAME` `COL_NAME`, -- 字段名
c.`COMMENT` `COL_COMMENT`, -- 字段注释
c.`TYPE_NAME` `DATA_TYPE`, -- 字段的数据类型
'column' `COL_TYPE` -- 类型
FROM (
SELECt b.`TBL_ID`,s.`CD_ID` FROM `TBLS`b
INNER JOIN `SDS`s ON s.`SD_ID`=b.`SD_ID`
)t
LEFT JOIN `COLUMNS_V2`c ON t.`CD_ID`=c.`CD_ID`
)
)c ON t.`TBL_ID`=c.`TBL_ID`;
3、血缘管理工具:Atlas(待完成)
3.1、简介
| 主要功能 | 说明 |
|---|---|
| 元数据分类 | |
| 元数据检索 | |
| 血缘依赖 | 表到表的血缘依赖、字段到字段的血缘依赖 |
| 本文环境 | 说明 |
|---|---|
| 节点 | hadoop102、hadoop103、hadoop104 |
| Solr版本 | 7.7.3 |
| Atlas版本 | 2.1.0 |
在每台节点创建名为Solr的系统用户
useradd solr
下载、解压、修改户主
wget tar -zxvf solr-7.7.3.tgz -C $B_HOME/ cd $B_HOME mv solr-7.7.3 solr chown -R solr:solr solr
配置文件
vim $B_HOME/solr/bin/solr.in.sh
ZK_HOST="hadoop102:2181,hadoop103:2181,hadoop104:2181"
分发
rsync.py $B_HOME/solr
在每个节点,使用solr用户来启动Solr(前提是ZooKeeper在运行)
sudo -i -u solr /opt/module/solr/bin/solr start
Web端口为8983,任意一个节点都可,http://hadoop102:8983
安装Atlas下载、解压
tar -zxvf apache-atlas-2.1.0-server.tar.gz -C $B_HOME cd $B_HOME mv apache-atlas-2.1.0 atlas
配置Atlas存储到外部Hbase
vim $B_HOME/atlas/conf/atlas-application.properties
atlas.graph.storage.hostname=hadoop102:2181,hadoop103:2181,hadoop104:2181
Hbase配置
vim $B_HOME/atlas/conf/atlas-env.sh
export Hbase_CONF_DIR=$Hbase_HOME/conf
Atlas集成Solr
vim /opt/module/atlas/conf/atlas-application.properties
atlas.graph.index.search.backend=solr atlas.graph.index.search.solr.mode=cloud atlas.graph.index.search.solr.zookeeper-url=hadoop102:2181,hadoop103:2181,hadoop104:2181Atlas集成Hive
安装Hive Hook
tar -zxvf apache-atlas-2.1.0-hive-hook.tar.gz
将Hive Hook依赖复制到Atlas安装路径
cp -r apache-atlas-hive-hook-2.1.0/* /opt/module/atlas/
Hive Hook配置
mv hive-env.sh.template hive-env.sh vim hive-env.sh
export HIVE_AUX_JARS_PATH=/opt/module/atlas/hook/hive
修改Hive配置文件
vim $HIVE_HOME/conf/hive-site.xml
hive.exec.post.hooks org.apache.atlas.hive.hook.HiveHook



