Navigator的使用

时间:2022-05-06
本文章向大家介绍Navigator的使用,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。 Fayson的github:https://github.com/fayson/cdhproject 提示:代码块部分可以左右滑动查看噢

1.文档编写目的


在前面Fayson介绍了《Cloudera Navigator介绍与安装》,本篇文章主要介绍Navigator的四大核心功能,元数据搜索、数据溯源、审计以及数据生命周期管理功能。当然Navigator还一个重要的功能就是进行数据加密,因为涉及内容较多,也稍微复杂一些,所以本文这里先不介绍,Fayson会在后面的文章单独进行说明。

  • 内容概述

1.元数据搜索

2.数据溯源

3.审计

4.数据生命周期管理

  • 测试环境

1.CM和CDH版本为5.13.1

2.Navigator版本为2.12

2.元数据搜索


1.使用管理员登录Cloudera Navigator

如上图所示显示的界面即为元数据搜索功能界面。

2.根据输入的检索条件可以检索出所有涉及的内容,根据Source Type进行展示

通过关键字sqoop_hosts检索出Hive和HDFS相关的数据信息。

3.在搜索栏输入“sqoop_hosts”,根据左边的过滤条件,过滤数据源为Hive且类型为Table类型的数据

可以看到Navigator支持元数据模糊检索,支持元数据类型,类型、所属用户等条件过滤,检索出来的数据显示有数据文件的HDFS路径、所属用户、创建时间及数据源等信息。

4.查看元数据详细信息

5.进入元数据详细界面,为数据添加标签(Tag)

这里我们为元数据添加标签后,可以在元数据检索界面通过搜索“my_sqoop_hosts”标签来查找我们的元数据信息

6.修改元数据名称

修改元数据名称后,可以根据修改后的“hosts_rename”名称来搜索我们的元数据信息

通过检索出来的结果,能看到修改后的元数据名称中会有一个“Original Name”字段标识原始元数据的名称。修改的元数据名称还原后则不能检索到sqoop_hosts元数据信息

使用默认的“sqoop_hosts”检索出来的数据

我们可以看到是没有“Original Name”标识字段。

3.数据溯源管理


这里我们使用Sqoop抽取MySQL数据到HDFS,然后将创建Hive的sqoop_hosts外部表,再将sqoop_hosts表转化为hosts_paquet表,通过这系列流程查看Navigator是如何展示我们数据的流向。

1.在命令行执行脚本使用Sqoop命令通过MySQL数据库中指定表创建Hive表

[root@ip-172-31-16-68 gzshell]# vim create_hivetable.sh 
#!/bin/sh  
host='ip-172-31-16-68.ap-southeast-1.compute.internal'
database='cm'
user='root'
password='123456'
mysqlTable='HOSTS'
hiveDB='default'
hiveTable='sqoop_hosts'
sqoop create-hive-table 
--connect jdbc:mysql://${host}:3306/${database} --username ${user} --password ${password} 
--table ${mysqlTable} 
--hive-table ${hiveDB}.${hiveTable} 
--hive-overwrite

(可左右滑动)

2.在命令行执行脚本将MySQL表数据抽取到Hive的sqoop_hosts表中

[root@ip-172-31-16-68 gzshell]# vim import_hivetable.sh 
#!/bin/sh

host='ip-172-31-16-68.ap-southeast-1.compute.internal'
database='cm'
user='root'
password='123456'
mysqlTable='HOSTS'
hiveDB='default'
hiveTable='sqoop_hosts'
tmpDir='/user/hive/warehouse/'${hiveDB}'.db/'${hiveTable}
sqoop import --connect jdbc:mysql://${host}:3306/${database} --username ${user} --password ${password} 
--table $mysqlTable 
--hive-import --hive-table ${hiveDB}.${hiveTable} --target-dir ${tmpDir} --delete-target-dir 
--hive-overwrite 
--null-string '\N' --null-non-string '\N'

(可左右滑动)

3.在Hue中执行SQL命令创建hosts_parquet表

create table hosts_parquet like sqoop_hosts stored as parquetfile;

(可左右滑动)

4.在命令行执行脚本将HDFS数据抽取到MySQL数据库中的test_hosts表

[root@ip-172-31-16-68 gzshell]# vim export_hivetable.sh 
#!/bin/sh
###create table test_hosts like HOSTS;
host='ip-172-31-16-68.ap-southeast-1.compute.internal'
database='cm'
user='root'
password='123456'
mysqlTable='test_hosts'
hiveDB='default'
exportDir='/user/hive/warehouse/sqoop_hosts'
sqoop export --connect jdbc:mysql://${host}:3306/${database} 
--username ${user} 
--password ${password} 
--table ${mysqlTable} 
--export-dir ${exportDir} 
--input-fields-terminated-by '1' 
-m 1

(可左右滑动)

5.完成以上的数据操作流程后,登录Navigator查看数据血缘分析

进入元数据详细界面

点击“Lineage”菜单,进入数据血缘分析界面

点击图中标注的“+”可以看到sqoop_hosts表中所有字段与hosts_parquet表中字段为一一对应

点击右侧菜单“Operations”,可以看到详细的跟踪到元数据的源头及目的地

点击每一个节点可以查看到当前节点的详细描述

可以精确到每个字段的数据流向

4.审计功能


1.我们命令行使用fayson用户访问有权限的HDFS目录

[root@ip-172-31-16-68 ~]# hadoop fs -ls /user/hive/warehouse

(可左右滑动)

2.登录Cloudera Manager Navigator进入“Audits”功能,查看fayson审计功能

添加筛选条件

点击“Apply”,可以看到我们操作HDFS的/user/hive/warehouse的审计日志

3.使用fayson用户查看无访问权限的HDFS目录

[root@ip-172-31-16-68 ~]# hadoop fs -ls /user/hdfs

(可左右滑动)

4.查看Cloudera Manager Navigator的审计日志

添加筛选条件

点击“Apply”,查看审计日志,可以看到有记录用户无权限访问该目录的日志

5.使用fayson用户登录Hue进行SQL操作,访问有权限的sqoop_hosts表

登录Navigator查看审计日志

6.操作无权限访问的hosts_parquet表

登录Navigator查看审计日志

7.同样Cloudera Manager Navigator可以对系统登录等操作进行审计,这里以Hue为例

5.数据生命周期管理


1.登录Navigator平台,点击“Policies”进入数据生命周期管理界面

2.查看“Search Query”查询条件

点击“Show full query”

3.点击“New Policy”创建一个自动分类标签的策略

点击“Save”保存策略

查看自动分类标签策略运行情况

通过元数据检索查看我们创建的策略是否执行成功

成功为我们的/user/hive/warehouse/sqoop_hosts的HDFS目录生成了my_sqoop_hosts标签。

4.创建自动归档策略

将HDFS的/wc目录移至/wc_archive目录

点击“Save”保存归档策略

查看归档策略运行状态

查看数据是否归档,在命令行查看HDFS的/wc目录

如上截图发现,HDFS的/wc目录已不存在,只存在/wc_archive,与我们创建的归档策略一致。

6.总结


  • Navigator提供了完整的元数据检索功能。可以通过搜索表名,文件名等都可以搜索出相关所有涉及的内容,包括文件路径,创建时间,创建人等。可以根据数据来源组件,操作,表等分类进行查询。可以为数据集添加标签(tag) ,支持基于标签的搜索。
  • Navigator提供了完成了集群审计功能(含数据操作,权限控制、登录等)
  • Navigator提供完整的数据血缘分析,通过可视化界面方便的查看数据详细的进入HDFS到流出的一系列过程。
  • Navigator提供创建策略的方式来管理数据的生命周期,如为数据添加Tag、归档数据等策略。

提示:代码块部分可以左右滑动查看噢 为天地立心,为生民立命,为往圣继绝学,为万世开太平。 温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。

推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。

原创文章,欢迎转载,转载请注明:转载自微信公众号Hadoop实操