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实操
- 通过Chocolatey软件包管理器安装.NET Core
- rsync同步时,删除目标目录比源目录多余文件的方法(--delete)
- 近期一枚“大文娱”dawenyu.com域名以小六位价格易主
- 分布式监控系统Zabbix-3.0.3-完整安装记录(0)
- URL安全的Base64编码
- 温故而知新:设计模式之原型模式(Prototype)
- Windows 7上执行Cake 报错原因是Powershell 版本问题
- 温故而知新:类索引器
- Visual Studio Code 代理设置
- 温故而知新:设计模式之工厂模式(Factory)
- 通过Jexus 部署 dotnetcore版本MusicStore 示例程序
- jquery.mobile手机网页简要
- 跟张志东深聊腾讯的“进化力”
- 详解微信小程序如何实现流程进度功能
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 【进阶篇】Python+Go——带大家一起另寻途径提高计算性能
- 爬取豆瓣高分电影。
- 快速带你上手Hyperledger Fabric环境搭建+开发测试
- 尝鲜使用微众银行WeCross实现基于哈希时间锁定的跨链转账
- Flutter 富文本第三方库 rich_text_widget
- 程序员的数学:线性代数之可视化
- 基于七牛SDK构建的Vue单页图片管理应用
- [Electron]仿写一个课堂随机点名小项目
- SyntaxError: (unicode error) 错误解决
- 理解CSS布局和块格式化上下文
- 基于后端云的吉他谱小程序开发
- 10个酷炫CMD命令
- Hog图像特征提取算法,HOG
- Win10设置Python定时任务
- 在 istio 中使用 namespace 进行资源/租户隔离