数据治理入门

处理模式

模式名称常见场景常见框架
批处理夜间几个小时,无人值守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,一经查实,立即删除!

相关文章

构建坚固防线:提升网站整体安防水平的有效途径

在当今数字化时代,网站安全问题日益突出,如何提升网站整体安防水平成为网站运营者不可忽视的挑战。本文将从高防服务器与CDN的局限性出发,探讨提升网站安防的有效途径,并最终总结其必要性。 高防服务器与CDN的局限性 高防服务器的…

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

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

二次元商业计划书PPT模版

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

pytorch 模型复现

一般来说,设置相同的随机种子,在相同参数条件下,能使pytorch模型复现出相同的结果。随机种子的设置代码如下: def get_random_seed(seed):random.seed(seed)os.environ[PYTHONHASHSEED] str(seed)np.random.seed(seed)torch.man…

FPGA基础以太网

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

Oracle 服务器日常巡检

文章目录 1、数据库基本状况检查2、数据库相关资源使用情况检查3、检查Oracle数据库性能4、数据库服务器CPU、MEM、I/O性能5、数据库服务器安全检查 Oracle数据库的日常巡检内容包括: (1)Oracle数据库基本状况检查; &#xff08…

揭露 bbr 的真相

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

让代码变美的第二天 - 策略模式

丑陋的模样 public Fruit buyFruit(String name) {if ("苹果".equals(name)) {return new BuyApple().buy();} else if ("香蕉".equals(name)) {return new BuyBanana().buy();} else if ("西瓜".equals(name)) {// 买西瓜if (true) {// todo} e…

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互联新一代智慧型协同运营平台以中台的架构和技术…

linux effective_protection函数实现

函数的目的是根据 cgroup 的配额来计算它实际能从上层group中瓜分的额度。 以 min 为例: struct page_counter {/** Make sure usage does not share cacheline with any other field. The* memcg->memory.usage is a hot member of struct mem_cgroup.*/atomic_…

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)。电脑中所运行的程序均需经由内存执行,若执行的程序占用…

pdf文档转word文档

很久以前写的代码了,当时好象是因为朋友临时需要,找了好几个工具都是要付费,单独为了一个文档花钱好象有点划不来,就用python简单做了个,今天不小心划拉了出来,反正收着也没什么用,贴出来开心一…

Angular, React,Vus三大主流前端开发框架Setup

Angular: //文档 https://angular.dev/ //创建项目 1. npm install -g angular/cli2. ng new my-angular-app//启动 npm run start//构建 npm run build//代码检查 ESlint React: //文档 https://create-react-app.dev/docs/getting-started //TypeScript https://www.types…

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

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

抖音订单列表查询api接口

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