impala&hive大数据平台数据血缘与数据地图(四)-impala血缘架构图及功能介绍

最近在内部做了个分享,顺便画了一下这次impala数据血缘的架构图:

架构图:

impala&hive大数据平台数据血缘与数据地图(四)-impala血缘架构图及功能介绍_第1张图片

如果想了解如何实现请参照前面几篇文章:

impala数据血缘与数据地图系列:

1. 解析impala与hive的血缘日志

2. 实时采集impala血缘日志推送到kafka

3. 实时消费血缘记录写入neo4j并验证

---------------------------------Impala血缘 架构图-----------------------------------------------------------

红色部分是用户会接触到的部分,绿色部分对于用户无感知。

解读:

1. impala是无主的MPP架构,因此用户每次SQL指定的impala节点就是主节点,当用户通过SQL或jdbc/odbc接口查询impala时,SQL命令首先 会发送到impala daemon节点,由该节点的QueryPlanner解析SQL成执行计划后发送给其他daemon节点分别计算各自的数据然后返回给该impala daemon节点。 所以我们只要在每台impala daemon节点部署filebeat并监控血缘日志即可。

2. 使用Filebeat监控impala血缘日志后发送到kafka集群指定的topic中;

3. 解析kafka内的血缘日志,将元数据(user,timestamp,id等信息),实体(表,字段),关系(表到表,字段到字段,字段到表)识别出来;

4. 将第三步里的结果存储进Neo4J;

5. 用户可以使用CQL或封装的接口对Neo4J里存储的impala血缘进行实时的查询;

 

功能介绍:

实时血缘:

建视图:逻辑如下
create view vw_lineage_test as
select acc.gid,acc.decrypt_name,ind.company_name ,acc.branch_name
from dl_nccp.account acc 
inner join dl_nccp.individual ind on acc.gid=ind.gid and acc.is_deleted='0' and acc.is_valid='0';

impala&hive大数据平台数据血缘与数据地图(四)-impala血缘架构图及功能介绍_第2张图片

修改视图逻辑:新增一个来源表contract以及该表的telephone字段
alter view vw_lineage_test as
select acc.gid,acc.decrypt_name,ind.company_name,acc.branch_name,c.telephone 
from dl_nccp.account acc 
inner join dl_nccp.individual ind on acc.gid=ind.gid and acc.is_deleted='0' and acc.is_valid='0'
inner join dl_nccp.contact c on acc.gid = c.gid

impala&hive大数据平台数据血缘与数据地图(四)-impala血缘架构图及功能介绍_第3张图片

全类型血缘:

目前已实现字段到表,字段到字段,表到表,表到库级别的全类型血缘关系:

impala&hive大数据平台数据血缘与数据地图(四)-impala血缘架构图及功能介绍_第4张图片

技术元数据管理:

实时更新数据字典、ETL任务元数据:

impala&hive大数据平台数据血缘与数据地图(四)-impala血缘架构图及功能介绍_第5张图片

影响分析:

指定节点向后进行影响分析:

impala&hive大数据平台数据血缘与数据地图(四)-impala血缘架构图及功能介绍_第6张图片

血缘分析:

指定节点向前进行血缘分析:

impala&hive大数据平台数据血缘与数据地图(四)-impala血缘架构图及功能介绍_第7张图片

深度查询:

可指定血缘的查询深度:

impala&hive大数据平台数据血缘与数据地图(四)-impala血缘架构图及功能介绍_第8张图片

如果对你有帮助,请点个赞吧~ 谢谢!

你可能感兴趣的:(#,#,Neo4j)