数据治理入门

news2024/12/26 14:09:15

处理模式

模式名称常见场景常见框架
批处理夜间几个小时,无人值守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.coloradmin.cn/o/1220065.html

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

相关文章

Gooxi国鑫金秋发布会圆满召开,引领数智新未来

10月24日,主题为“芯加速创鑫局”的2023 Gooxi第四代英特尔至强可扩展处理器平台新品发布会隆重召开,Gooxi重磅发布基于第四代英特尔至强可扩展处理器平台系列新品,Gooxi英特尔平台算力迎来全新升级进化,为AI注入全新发展动力&…

微信小程序相机相册授权后,需要重启客户端才能正常调用相机,无法调起窗口选择图片,无反应解决方案

最近微信小程序很多功能突然不能使用,本篇针对无法调起相册进行说明 解决方案 检查小程序隐私协议是否配置,操作步骤这里不在详细说明,点击教程按照上面的教程,找到入口后点击完善或者更新 选择选中的照片或视频这个权限要申请 之…

牛客机考题编程题输入输出

有时空可以练练这里的题目: https://ac.nowcoder.com/acm/contest/5652 做个总结,其实就两种输入类型: 一种是下面这种,需要对输入的每行进行运算 这种就是循环读取每行的数做一个运算: import sys while True:line …

CodeWhisperer--手把手教你使用一个十分强大的工具

Amazon CodeWhisperer 是一款能够帮助我们智能生成代码的工具。经过数十亿行代码的训练,可以根据提示和现有代码实时生成从片段到完整功能的代码建议。类似 Cursor 和 Github Copilot 编码工具。目前,CodeWhisperer 兼容 Python、Java 和 JavaScript&…

扫码看的视频怎么下载?二维码中的视频怎么保存?

二维码中的视频能设置下载吗?现在很多商家或者企业都会通过制作活码二维码的方式来将展示产品或者企业,当用二维码生成器做二维码时,有什么方法能够让扫码用户可以下载视频观看呢?现在很多的视频二维码只能观看,无法让…

使用Jupyter Notebook调试PySpark程序错误总结

项目场景: 在Ubuntu16.04 hadoop2.6.0 spark2.3.1环境下 简单调试一个PySpark程序,中间遇到的错误总结(发现版对应和基础配置很重要) 注意:在前提安装配置好 hadoop hive anaconda jupyternotebook spark zo…

MIB 6.1810实验Xv6 and Unix utilities(4)primes

难度: hard/moderate Write a concurrent prime sieve program for xv6 using pipes and the design illustrated in the picture halfway down this page and the surrounding text. This idea is due to Doug McIlroy, inventor of Unix pipes. Your solution should be in …

麦克纳姆轮x运动学分析

麦克纳姆轮介绍 A轮 B轮 我们以俯视图的中心为坐标系原点 A轮轴向方向过2 4象限 B轮轴向方向过1 3象限 这里相当于从下往上看仰视图相当于B轮的俯视图 辊子转动方向是不会产生给机器人运动的力,轴向方向会产生运动的摩擦力。 车如果向前运动则A轮要产生45斜向上的力 车如果向…

漂亮的bootstrap后台模板

优雅典型的Bootstrap后台模板 在现今数字化时代,拥有一个漂亮且易于使用的后台模板对于网站或应用程序的成功至关重要 Bootstrap后台模板为您提供了一种简单而强大的方式来构建出色的管理界面,为用户带来无缝的操作体验 我们的Bootstrap后台模板不仅具…

微信小程序 限制字数文本域框组件封装

微信小程序 限制字数文本域框 介绍&#xff1a;展示类组件 导入 在app.json或index.json中引入组件 "usingComponents": {"text-field":"/pages/components/text-field/index"}代码使用 <text-field maxlength"500" bindtabsIt…

复杂数据统计与R语言程序设计实验二

1、创建一个对象&#xff0c;并进行数据类型的转换、判别等操作&#xff0c;步骤如下。 ①使用命令清空工作空间&#xff0c;创建一个对象x&#xff0c;内含元素为序列&#xff1a;1&#xff0c;3&#xff0c;5&#xff0c;6&#xff0c;8。 ②判断对象x是否为数值型数据。 ③…

Elasticsearch基础条件查询

条件查询 query&#xff1a;查询 match&#xff1a;匹配 match_all&#xff1a;匹配所有 #第一种 GET /shopping/_search?q名字:张三#第二种 GET /shopping/_search {"query": {"match": {"名字": "张三"}} }#全量查询 match_all G…

Pandas 将DataFrame中单元格内的字典dict拆分成单独的列

核心是应用 pd.Series&#xff0c; 具体操作如下&#xff1a; import pandas as pddata {years: [2025],week: [{f"week_{i}": i for i in range(3)}]} df pd.DataFrame(data) print(df)df pd.concat([df, df[week].apply(pd.Series)], axis1).drop(week, axis1)…

12V升压18V 1A 内置MOS 升压芯片5-35V输入内置MOS升压IC

12V升压18V 1A 内置MOS 升压芯片5-35V输入内置MOS升压IC

RF 检测器/控制器MS2351M

产品简述 MS2351M 是一款对数放大器芯片&#xff0c;主要用于接收信号强度 指示 RSSI 与功率放大器控制&#xff0c;工作频率范围是 50M  3000MHz &#xff0c; 因频率与温度不同&#xff0c;动态范围达 35dB 到 45dB 。 MS2351M 是电压响应器件&#xff0c; 50M…

抖音内容创作五大方向,让你轻松吸引观众

适合在抖音上探索的五个方向&#xff0c;每个方向都有相关的账号案例&#xff0c;下面来具体看一下&#xff1a;1. 以自己的工作为灵感 利用自己的工作经验&#xff0c;分享与你的工作相关的内容。比如&#xff0c;如果你是房产中介&#xff0c;可以分享购房知识;如果你是汽车销…

centos7 网卡聚合bond0模式配置

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、什么是网卡bond二、网卡bond的模式三、配置bond0 一、什么是网卡bond 所谓bond&#xff0c;就是把多个物理网卡绑定成一个逻辑上的网卡&#xff0c;使用同一个…

Flume学习笔记(2)—— Flume进阶

Flume进阶 Flume 事务 事务处理流程如下&#xff1a; Put doPut&#xff1a;将批数据先写入临时缓冲区putListdoCommit&#xff1a;检查channel内存队列是否足够合并。doRollback&#xff1a;channel内存队列空间不足&#xff0c;回滚数据 Take doTake&#xff1a;将数据取…

zookeeper学习记录

本文Java代码地址&#xff1a; https://gitee.com/blackjie_1/ljUp/tree/master/zookeeperDemo 个人博客网站&#xff1a;什么是快乐 基于docker 安装 拉取zookeeper 3.4.10 docker pull zookeeper:3.4.10启动服务端 docker run -d -p 2181:2181 -v /root/docker/zookeepe…

电源地虚接,导致信号线发烫

音频板的信号是经过隔直电容接到音频板的。