数据治理之考评指标类

正则表达式

  1. [] 表述一个字符应该是什么样子
    • [abc] 表示一个字符可以是a\b\c
    • [a-z] 表示所有小写
    • [a-zA-Z]所有大小写
    • [ a-zA-Z0-9_ ] 所有大小写字母及数字和下划线 -> \w
    • [0-9] \d
    • \s 空格
    • . 表示任意字符
  2. {} 表示有多少个这样的字符
    • [a-z]{1,10}最少有一个,最多有10个
    • [a-z]{,10}最多10个
    • [a-z]{2,}至少2个
    • {1,} -> + 至少一个可以用+代替
    • {0,1} -> ? 最多一个
    • {,} -> * 多少个都行,可以没有
    • .* 表示任意字符有任意多个
  3. ()修饰可以是一个什么样的词组
    • (zhang3 | li4)可以是zhang3或者li4
  4. ^ 表示以什么开头
    • [^] 表示非
    • $ 表示以什么结尾

数据治理之考评指标类_第1张图片

代码使用

public static void main(String[] args){
	String email = "[email protected]";
	Pattern emailPattern = Pattern.compile("正则");
	Matcher matcher = emailPttern.matcher(email);

	if(matcher.matches()){
		sout("符合规范");
	}else{
		sout("不符合规范 ");
	}
}

时间复杂度

O(1) : 根据key从map中查询,从set中查询某个值是否存在

集合转换

可以使用.stream().

指标类之读写访问权限检查

  1. 文件目录是否超过建议权限
  2. 指标code: FILE_ACCESS_PERMISION
  3. 领域:SECURITY
  4. 建议权限:
    • 目录权限:755
    • 文件权限:644
  5. 处理步骤:
    • 提取相关元数据
    • 准备递归遍历
      • 递归工具 FileSystem
      • 递归起点 一级子目录
      • 递归的容器 收集所有超过权限的文件、目录,位置
      • 判断权限的参数 perssion
    • 递归执行
      • 循环起点目录
      • 如果是中间节点(目录):采集处理,张开下一层次,递归回调自己
      • 如果是叶子节点(文件):采集处理,权限检查
    • 根据结果容器进行评价:如果容器有内容,差评,填写问题位置

考评领域划分

  1. calc 计算
  2. quality安全
  3. spec 规范
  4. storage存储

mysql相关命令

  1. 启动sudo systemctl restart mysqld
  2. 配置文件 /etc/my.cnf
  3. 日志: /var/lib/mysqld.log
  4. 如果执行启动脚本出错:sudo journalctl -xe

表产出数据监控

  1. 先判断为日分区表
  2. 当日产出的数据量,超过前x天产出量{upper_limit}%, 或低于{lower_limit}%
  3. 当日分区的数据量 / 前n天平均值
  4. 表目录/ dt , 递归累加计算

Dolphinscheduler面向数据治理

  1. 不要每层一个节点,而是每个表一个节点
  2. ds中的sql节点实际上是使用jdbc方式的方式执行SQL,需要使用hiveserver2,但是hiveserver2在大数据量时非常不稳定
  3. 由于经过hiveserver2,会丢失掉yarn_id
  4. 而做数据治理时,yarn_id是用来找到对应任务日志的唯一标识
  5. ds.3 bug比较多,功能也较多,3.x版本不采集yarn_id,需要改源码重新编译
  6. 如何根据表名查询该表对应的流程节点,把节点名命名为库名+表名

要从DS中获取哪些东西

  1. 任务定义:获得SQL,总共一份。在表t_ds_task_definition
  2. 任务运行状况(每天一份):在表 t_ds_task_instance
    • 是否运行成功 state 成功是7,失败是6
    • 耗时: end_time - submit_time
    • yarn_id 用于提取日志 app_link

你可能感兴趣的:(大数据)