数据治理入门

处理模式

模式名称常见场景常见框架
批处理夜间几个小时,无人值守hive spark datax
流处理7*24H一直运行,无人值守maxwell, flink, flume, kafka
即席处理人机交互接口访问 web页面

数据治理的意义

  1. 数据质量低:数据错误,不准确或不一致,导致决策依据不可靠
  2. 数据孤岛:各部门和系统之间的数据无法有效整合,形成数据孤岛,降低数据的利用价值和沟通效率(数据负责人走了之后无人可以看懂)。
  3. 数据安全风险:缺乏有效的数据保护措施
  4. 规范性问题:在数据使用、存储和传输过程中,可能无法满足规范性要求,增加数据的理解难度,降低利用率
  5. 计算存储的冗余

数据治理的方案

1.数据中台

提供一个大而全的平台,将数据建模、数据开发、数据运营、指标可视化…都放到一个平台中。优点是好用,缺点是开发周期长,租用费用贵。

2.数据治理考评

通过设定各种治理项指标,对指标进行考核评分排名,结果导向倒逼开发人员不断改进数据治理的各项问题。优点:成本低,直击问题本身。缺点:缺少工具。
主要指标:

  1. 规范
    • 有技术owner
    • 有业务owner
    • 表名合规
    • 表有备注
  2. 存储
    • 生命周期合理
    • 是否空表
    • 存在相似表
  3. 计算
    • 长期五产出
    • 长期无访问
    • 计算中有错误
    • 简单加工:sql语句中没有任何join、group by、union函数的复杂计算
    • 计算中存在数据倾斜
  4. 质量
    • 表产出时时效监控
    • 表产出数据量监控
  5. 安全
    • 未明确安全等级
    • 目录文件数据访问权限超过建议值

架构

数据来源:

  1. hive元数据:字段名、表名、备注
  2. hdfs元数据:访问权限、访问写入时间、数据量大小
  3. dolphinscheduler调度器:sql定义,运行时间
  4. spark的运行日志,分析数据倾斜
  5. 手工录入信息:owner, 安全级别,生命周期

在这里插入图片描述

Web服务

Spring boot

web框架前世今生

  1. 各类老框架:php \ perl \ asp \ c#(.net 必须跑在window系统)
  2. ssh框架 = struts(1,2) + spring + hibernate
  3. ssm框架 = springmvc + spring + mybatis(ibatis)
  4. springboot = ssm的基础上包装的便于使用的框架
    • 特点
      • 节省大量配置,约定大于配置
      • 内置web服务容器,打包部署服务非常方便
      • 非常方便整合各种第三方框架,starter机制对接
    • 和java学习时的不同点
      • main函数只是启动程序服务器,业务逻辑在其他函数中
      • 程序逻辑是MVC三层架构的

为什么要分层?

  1. 提高代码的复用,减少重复代码的反复编写
  2. 结构清晰,方便定位问题的出错位置

三层结构
使用规范:

  • 尽量逐层调用
  • 控制层:每个类一般代表一种业务请求,每个方法代表某个特定的业务请求
  • 服务层:每个类代表一种业务操作
  • 数据层:每个类代表一张表,每个方法代表对该表的一跳SQL语句

SpringBoot项目特点

  1. 本质上还是一个maven的java项目
  2. 预加入了一些依赖
  3. 多了一个配置文件application.properties
  4. 多了一个启动程序Application, 主方法,直接运行即可

参数

在这里插入图片描述

  1. 路径查找使用@RequestMapping(“/”), 用来标记类或方法
  2. 定义参数的方法:
    • @RequestParam("name")来定义参数,使用@RequestParam("name")来获取参数。一般用于查询,赋予多个条件
    • @RequestMapping("/info/{id}"), 使用@PathVariable("id")放在函数列表中来获取参数。用于依靠一个唯一值参数进行查询
  3. 请求方式request method
    • get查询: 实际上的读操作,@GetMapping
    • post写入,非幂等性写入,实际上的写操作,@PostMapping
    • put写入,幂等性写入,基本上不用
    • delete删除,偶尔会用
  4. 请求体参数:发送时使用postman工具将数据写出Json格式放入到请求体中,使用@RequestBody来获取post发送过来的数据。
  5. 如果需要把键值对参数封装到一个bean对象中,可以在参数列表中什么注解都不加,spring boot会帮你自动封装数据信息到bean对象中。
  6. 状态码
    • 1xx:访问中
    • 2xx:访问成功
    • 3xx:重定向,跳转
    • 4xx:
      • 400: bad request 参数个数或类型不匹配
      • 403:禁止访问,权限问题或IP被禁
      • 404:not found 路径资源不匹配
      • 405:method not allowed 请求方式不匹配
    • 5xx:
      • 500: 服务器内部错误,查看java console异常
    • xxx: 自定义状态码

容器与组件

Spring 容器启动时:

  1. 以单例饿汉方式的方式创建所有组件,启动服务器时就创建,常见的组件为@RestController, @Service, @Mapper, @Component
  2. 会扫描所有的@Autowired,会自动装配所有组件的引用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/145614.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

别再吐槽大学教材了,来看看这些网友强推的数学神作!

前言 关于大学数学教材的吐槽似乎从来没停止过。有人慨叹:数学教材晦涩难懂。错!难懂,起码还可以读懂。数学教材你根本读不懂;也有人说:数学教材简直就是天书。 数学教材有好有坏,这话不假,但更…

二次元商业计划书PPT模版

二次元商业计划书PPT模版 共:9页 PPT模版: 百度网盘 请输入提取码:ax48

FPGA基础以太网

以太网数据通信 物理层:网线网卡(PHY芯片) 数据链路层:Mac层(数据有效传输) 如图所示:FPGA中的Mac层中的MII接口负责控制PHY芯片,PHY芯片通过网线与PC端进行以太网数据传输。 FPGA中&#xff…

揭露 bbr 的真相

信 bbr 的伙计们,我又要泼冷水了,哈哈。 从先 bbr 的海报开始,相信大家也是被它唬住的: 注意横坐标标度是对数,这就凸显了优势。 把它展开到自然数坐标,再把其它对照画在一个坐标系里,在此之…

JVM jstat 查看内存新生代老年代回收情况,排查oom

jstat 命令 jstat - [-t] [-h] [ []] option:我们经常使用的选项有gc、gcutil vmid:java进程id interval:间隔时间,单位为毫秒 count:打印次数 每秒打印一次 jstat -gc 9162 1000S0C:年轻代第一个survivor的容量…

实时音视频方案汇总

若有好的方案欢迎留言讨论,非常感谢,汇总了一些,从市面上了解的一些低时延的端到端的方案,仅供参照,若有问题,也欢迎留言更正! 方案 方案描述 时延 备注 1大华同轴高清电缆200米电缆&#xf…

致远OA wpsAssistServlet 任意文件上传漏洞

声明 本文仅用于技术交流,请勿用于非法用途 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。 一、产品简介 致远OA互联新一代智慧型协同运营平台以中台的架构和技术…

8.jib-maven-plugin构建springboot项目镜像,docker部署配置

目录 1.构建、推送镜像 1.1 执行脚本 2.2 pom.xml配置 ​2.部署镜像服务 2.1 执行脚本 2.2 compose文件 3.docker stack常用命令 介绍:使用goole jib插件构建镜像,docker stack启动部署服务; 通过执行两个脚本既可以实现构建镜像、部…

Scala---方法与函数

一、Scala方法的定义 有参方法&无参方法 def fun (a: Int , b: Int) : Unit {println(ab) } fun(1,1)def fun1 (a: Int , b: Int) ab println(fun1(1,2)) 注意点: 方法定义语法 用def来定义可以定义传入的参数,要指定传入参数的类型方法可以写返…

Stable Diffusion1.5网络结构-超详细原创

目录 1 Unet 1.1详细整体结构 1.2 缩小版整体结构 1.3 时间步编码 1.4 CrossAttnDownBlock2D 1.4.1 ResnetBlock2D 1.4.2 Transformer2DModel 1.4.2.1 BasicTransformerBlock 1.4.2.1.1 SelfAttention 1.4.2.1.2 CrossAttention 1.4.2.1.3 FeedForward 1.4.3 DownS…

windows虚拟内存自定义分配以及mysql错误:Row size too large (> 8126)

文章目录 虚拟内存概要windows-server配置虚拟内存技术名词解释关于mysql错误Row size too large (> 8126)问题分析解决办法 虚拟内存概要 虚拟内存别称虚拟存储器(Virtual Memory)。电脑中所运行的程序均需经由内存执行,若执行的程序占用…

遥感领域最热门的研究主题介绍

遥感是有效地直接从地球收集数据的最重要技术之一。由于生态信息科学的进步,遥感技术在日常生活的多个研究方面变得非常有价值,其中包括大气物理学、生态学、土壤和水污染、土壤科学、地质学、火山爆发和地球演化。以下是遥感领域的主要趋势研究主题&…

抖音订单列表查询api接口

怎么获取订单列表接口 请求地址:响应示例及参数

(论文阅读30/100)Convolutional Pose Machines

30.文献阅读笔记CPMs 简介 题目 Convolutional Pose Machines 作者 Shih-En Wei, Varun Ramakrishna, Takeo Kanade, and Yaser Sheikh, CVPR, 2016. 原文链接 https://arxiv.org/pdf/1602.00134.pdf 关键词 Convolutional Pose Machines(CPMs)…

IDEA 中设置 File Header 以及自定义类、方法注释模板的方法

目录 1 设置 File Header2 自定义类、方法注释生成类注解模板生成方法注解模板 1 设置 File Header File -> Settings -> File and Code Templates -> Includes -> File Header -> 编辑 2 自定义类、方法注释 File -> Settings -> Live Templates -&g…

kafka+ubuntu20.04+docker配置

记录一次配置过程 安装docker 参加下面链接的第一部分 Ubuntu20.04使用docker安装kafka服务-CSDN博客 安装zookeeper docker run -d --name zookeeper -p 2181:2181 -v /etc/localtime:/etc/localtime wurstmeister/zookeeper安装kafka服务 docker run -d --name kafka …

Jquery 通过class名称属性,匹配元素

UI自动化过程中,常常需要判断某个元素是否满足条件,再走不通的脚本逻辑;、本文介绍如何通过jquery判断菜单是否展开,来决定是否执行菜单展开脚本;Jquery通过class名称属性,匹配元素 我们先分析,…

C++核心编程 day09 类型转换、异常、输入输出流

C核心编程 day09 类型转换、异常、输入输出流 1. 类型转换2. 异常2.1 异常语法2.2 C标准异常库 3. 输入输出流3.1 输入输出流概念以及流类库3.2 标准输入流3.3 标准输出流3.4 文件读写 1. 类型转换 C中的类型转换有四类,分别是静态转换、动态转换、常量转换、重新解…

图像分类系列(二) VGGNet学习详细记录

经典神经网络论文超详细解读(二)——VGGNet学习笔记(翻译+精读) 前言 上一篇我们介绍了经典神经网络的开山力作——AlexNet:经典神经网络论文超详细解读(一)——AlexNet学习笔记&a…

C生万物 | 从浅入深理解指针【最后部分】

C生万物 | 从浅入深理解指针【最后部分】 文章目录 C生万物 | 从浅入深理解指针【最后部分】前言sizeof和strlen的对比sizeofstrlen 数组和指针笔试题解析一维数组字符数组二维数组 前言 我们前面学了四个部分了,如果没有看前面的建议可以看一下前面的~~ C生万物 |…