首页 > 其他分享 >大数据之路 读书笔记 Day6 离线数据开发之数据开发平台

大数据之路 读书笔记 Day6 离线数据开发之数据开发平台

时间:2024-07-15 14:27:26浏览次数:20  
标签:MaxCompute 读书笔记 SQLSCAN DQC 离线 用户 规则 数据

回顾

1. 统一计算平台

在这里插入图片描述

1.1 MaxCompute概述

MaxCompute(原名 ODPS,Open Data Processing Service)是阿里云提供的一种快速、完全托管的EB级数据仓库解决方案。它为用户提供了海量数据存储和实时计算的能力,适用于离线数据处理和分析场景,如大数据分析、机器学习、数据挖掘等。

MaxCompute的主要特点包括:

  1. 大规模数据处理能力:能够处理PB级别的数据,提供高并发的数据读写和处理能力。

  2. SQL支持:支持标准SQL查询,使得数据分析人员可以使用熟悉的SQL语言进行数据查询和分析。

  3. MapReduce和Graph计算框架:支持MapReduce和Graph计算框架,用户可以编写复杂的数据处理逻辑。

  4. 安全性和权限管理:提供细粒度的安全控制和数据访问权限管理,确保数据安全。

  5. 数据导入导出服务:支持从多种数据源导入数据,如OSS、RDS等,也支持将数据导出到这些数据源。

  6. 生态集成:与阿里云其他产品和服务深度集成,如DataWorks(数据工场)、Quick BI(敏捷BI)、PAI(平台即服务)等。

  7. 机器学习支持:通过PAI平台,MaxCompute可以支持大规模机器学习模型训练和预测。

1.2 层次架构

MaxCompute的体系架构被设计为分层的系统,主要包括以下几个层次:

  1. 客户端

    • 提供了多种访问方式,包括REST API、SDK、CLI(命令行工具)以及IDE(集成开发环境),使得开发者可以通过不同的方式来操作MaxCompute。
  2. 接入层

    • 提供HTTP服务,负责处理来自客户端的请求,进行负载均衡,以及用户身份验证和访问控制。
  3. 逻辑层(控制层)

    • 这一层是MaxCompute的核心,负责用户空间和对象的管理、命令的解析与执行逻辑、数据对象的访问控制与授权等功能。
    • 包括Worker(执行计算任务)、Scheduler(任务调度)和Executor(任务执行器)三个主要角色。
  4. 存储与计算层

    • 基于飞天内核(Apsara Core),运行在独立的计算集群上,包含多个关键组件:
      • Pangu:分布式文件系统,用于数据存储。
      • Fuxi:资源调度系统,管理计算资源的分配和调度。
      • Nuwa:分布式协同服务,协调集群中的节点活动。
      • Shennong:监控模块,监控整个系统的健康状况。

此外,MaxCompute还与阿里云的其他服务紧密集成,例如:

  • OSS:作为对象存储,可以与MaxCompute结合实现湖仓一体的数据处理架构。
  • Hadoop/Hive:MaxCompute可以与Hadoop系统中的Hive和HDFS数据进行关联计算。
  • DataWorks:用于数据集成、开发、调度和管理。
  • Flink/Kafka/DataHub:实现实时数据流的处理和入仓。

整体而言,MaxCompute的设计目标是提供一个高性能、高可用、可扩展的云端数据仓库服务,支持大规模的数据分析和处理需求。

2. 统一开发平台

在这里插入图片描述

2.1 开发流程

关于使用开发平台(D2)进行数据开发的基本流程如下:

  1. 开发系统:首先,在开发平台上创建和编写代码或脚本。

  2. SQLSCAN:接下来,对编写的 SQL 查询语句或其他数据库操作进行扫描和检查,以确保其正确性和性能。

  3. 发布系统:在确认代码无误后,将其发布到生产环境中。

  4. 调度运维系统:发布后,通过调度运维系统来安排任务执行的时间表,并监控系统的运行状态。

  5. DQC:在任务执行过程中,利用 DQC 工具进行数据质量控制,确保输出的数据准确无误。

  6. 数据地图与数据管理:最后,将生成的数据映射到相应的数据结构中,并进行有效的数据管理和存储。

这个流程旨在确保数据开发过程中的每个步骤都得到适当的监督和控制,从而提高数据质量和整体效率。

在这里插入图片描述

2.2 SQLSCAN

形成sql规则,通过系统及研发流程保障,事前解决故障隐患。
就像我们使用MySQL、SQL server时会出现警告及报错中止查询,SQLSCAN提供了校验规则。
在这里插入图片描述工作流程

  • 用户在D2的IDE中编写代码。
  • 用户提交代码,D2将代码、调度等信息传到SQLSCAN。
  • SQLSCAN根据所配置的规则执行相应的规则校验。
  • SQLSCAN将检查成功或者失败的信息回传给D2。
  • D2的IDE显示OK(成功)、WARNING(警告)、FAILED(失败,禁止用户提交)等消息。

SQLSCAN主要有如下三类规则校验:

  • 代码规范类规则,如表命名规范、生命周期设置、表注释等。
  • 代码质量类规则,如调度参数使用检查、分母为0提醒、NULL值参与计算影响结果提醒、插入字段顺序错误等。
  • 代码性能类规则,如分区裁剪失效、扫描大表提醒、重复计算检测等。

规则有强规则和弱规则两类产品。触发强规则后,任务的提交会被阻断,必须修复代码后才能再次提交,如FAILED;而触发弱规则,则只会显示违反规则的提示,用户可以继续提交任务,如WARNING。

2.3 DQC

DQC 通常指的是 Data Quality Control(数据质量控制)。在数据管理和分析领域,DQC 是一个关键的过程,用于确保数据的准确性、完整性、一致性和时效性。数据质量控制涉及到多个方面,包括但不限于:

  1. 准确性:数据是否真实反映实际情况。
  2. 完整性:数据是否完整,没有缺失必要的部分。
  3. 一致性:数据在不同系统或数据集中是否保持一致。
  4. 时效性:数据是否及时更新,反映了最新的情况。
  5. 有效性:数据是否符合预期的业务规则和约束。
  6. 唯一性:数据记录是否具有唯一标识,避免重复。
  7. 可解释性:数据的含义是否清晰,元数据是否充分。

在这里插入图片描述上面是阿里云DQC(Data Quality Center)的工作流程图。工作流程:

  1. 数据监控:DQC可以实时监控企业的数据源,包括数据库、文件、API等,以及这些数据源之间的关系。通过对数据的实时监控,DQC能够及时发现数据质量问题。

  2. 数据清理:当DQC发现数据质量问题时,它可以自动触发数据清理流程。数据清理流程可以根据预设的规则和策略,对有问题的数据进行修正或者删除。

  3. 规则配置:DQC支持用户自定义数据质量规则,例如数据完整性、数据一致性、数据准确性等。用户可以通过图形化界面配置这些规则,并且可以在不同的数据源之间共享这些规则。

  4. 执行规则:DQC会定期执行用户配置的数据质量规则,并将执行结果反馈给用户。如果某个规则未通过,则DQC会标记该数据为“不合格”,并启动数据清理流程。

  5. 数据统计:DQC会对所有执行过的数据质量规则的结果进行统计和分析,帮助用户了解整个企业的数据质量状况。

  6. 提交和返回结果:用户可以通过DQC提交自己的数据质量需求,然后DQC会根据用户的需要执行相应的数据质量规则,并将执行结果返回给用户。


点赞关注收藏,获取更多干货知识~

标签:MaxCompute,读书笔记,SQLSCAN,DQC,离线,用户,规则,数据
From: https://blog.csdn.net/weixin_64259675/article/details/140432525

相关文章

  • C#、PLC中数据类型学习及汇总
    前言 注:不同语言部分类型定义和取值范围有所不同。编程语言如C#、C++等数据类型丰富多样,而PLC中的数据类型一般比较简单,这里汇总一下常用的数据类型,以便以后查阅。自己一个个手敲学习总结,如果有错望留言指正,如觉得还有用,请点赞收藏。目录前言1、C#中常用的值类型:可以直接......
  • 东软徐洪利:应用型数商架起数据要素价值落地桥梁
    “数据要素如何变现?”这是当下东软集团联席总裁徐洪利与业界交流时,最常遇到的问题。如同工业时代的石油——作为数字时代的生产要素,数据的重要性已经被广泛认可。但是,几乎没有客户会直接购买数据,就如同直接交易石油的生意远远低于购买石油衍生品,如沥青、燃油、塑料、纤维、涂料......
  • 学习总结:数据分析方法(侧重于解决实际问题)
    目录一、战略与组织SWOT分析PEST分析BSC平衡计分卡波特五力模型BCG矩阵GE矩阵二、质量与生产TPMTQM六西格玛OPTPDCAAUDIT法(汽车行业)三、营销服务STP分析4Ps普销组合SPIN销售法安索夫矩阵推销方格理论哈夫模型四、财务管理z-SCORE模型ABC成本法杜邦分......
  • sysbench压测数据库
    版本号:sysbench1.1        简介  sysbench是一个基于LuaJIT的可脚本多线程基准测试工具,最常用于数据库基准测试,支持单点读写、随机读写、混合读写等各种测试类型。  sysbench并非通过JDBC的方式连接数据库,而是通过专门的客户端依赖进行。比如MySQL通......
  • ubuntu20.04离线部署ceph集群
    版本兼容:查看ceph和系统的版本是否兼容节点说明ceph-admin:192.168.83.133ceph节点IPDomainHostnameServices192.168.83.133stor01.kb.cxceph01mon,mgr,mds192.168.83.134stor02.kb.cxceph02mgr,mon,mds192.168.83.135stor03.kb.cxceph03osd,m......
  • Hyperf 插入json数据需要注意
    我本来的代码是使用了firstOrCreate,但是实际create才会调用到模型文件protectedarray$casts=['id'=>'integer','created_at'=>'datetime','updated_at'=>'datetime','shop_id'=>'intege......
  • Panda数据处理
    一、Pandas简介Pandas,python+data+analysis的组合缩写,是python中基于numpy和matplotlib第三方数据分析库,与后者共同构成python数据分析基础工具包,享有数据三剑客之名。正因为pandas是在numpy基础上实现的,其核心数据结构与numpy的ndarray十分相似,但pandas与numpy的关系不是替代,而......
  • Python数据库应用
      通过文件操作可以实现简单的数据操作功能,如果要处理的数据量巨大,则需要将数据存储在数据库中。Python支持多种数据库。  本章主要介绍数据库概念以及结构化数据库查询语言SQL,分析并理解Python自带的轻量级关系数据库SQLlite的使用方法(同样用于MySQL数据库)  文......
  • 【数据结构】线性结构——数组、链表、栈和队列
    目录前言一、数组(Array)1.1优点1.2缺点1.3适用场景二、链表(LinkedList)2.1优点2.2缺点2.3适用场景三、栈(Stack)3.1优点3.2缺点3.3适用场景四、队列(Queue)4.1优点4.2缺点4.3适用场景......
  • 基于mycat实现数据库的读写分离
    一、mycat分布式存储服务部署1.安装java运行环境(db01)[root@db01~]#yuminstall-yjava2.下载、解压mycat包#上传解压mycat程序包[root@db01~]#tarxfMycat-server-1.6.7.4-release-20200105164103-linux_.tar.gz -C/usr/local/[root@db01~]#ll/usr/local/......