免规则采集器列表算法(阿里强大的大数据建设方法论是怎样的?(组图))

优采云 发布时间: 2021-11-04 08:12

  免规则采集器列表算法(阿里强大的大数据建设方法论是怎样的?(组图))

  阿里强大的大数据建设方法论是什么?笔者从数据技术、数据模型和数据管理三个部分开始介绍,会开阔你的视野,也对你有所启发。

  

  最近读了阿里巴巴数据技术与产品部的《大数据之路》一书。本书是关于底层数据技术沉淀的产品形态,满足各种数据应用场景,或者是在实践中提炼出的数据管理理念。都有助于开阔你的视野,也可以作为你自己结合实际情况进行数据构建的参考和参考。

  接下来将从数据技术、数据模型、数据管理三个部分展开介绍。

  一、数据技术文章1.1Log采集

  阿里的日志采集程序包括两大系统:基于Web的日志采集程序Aplus.JS和基于APP的日志采集程序UserTrack。

  以下是页面浏览日志的采集流程:

  浏览器点击链接;浏览器解析请求并按照标准协议向服务器发送HTTP请求(标准HTTP请求包括请求行、请求头和请求体。请求行将包括请求方法是get或post,以及请求资源的URL,如,HTTP版本协议号等内容,cookies等附加信息会在请求头中体现);服务器接收并解析请求,并将处理结果以HTTP响应的形式发送给浏览器(标准HTTP响应包括状态行、响应头和响应体。状态行是一个3位数的状态码,用于标识服务器的处理结果,如200/404,响应头中的cookie等附加信息。响应体是可选的,但大多是非空的,包括HTML文档、图片、脚本等);浏览器接收服务器响应,解析并呈现页面。

  这是从请求到页面最终显示的标准全过程。浏览器解析服务器的响应如下:

  当HTML文档解析到某个节点时,HTML文档中嵌入的JavaScript脚本采集当前页面参数、浏览行为的上下文信息、运行环境信息;采集 完成后发送到日志服务器,一般以 URL 参数形式反映在请求行中;日志服务器收到日志请求后,立即向请求发送成功响应,并将日志内容写入日志缓冲区;服务端日志处理程序读取日志,解析,保存为标准日志文件,注入实时消息通道,供后续程序消费使用。

  除了普通的页面浏览日志采集,还有页面交互日志采集,比如采集页面鼠标移动变化,用于精准的用户行为分析。

  流程大致如下:

  采集 代码嵌入目标页面,绑定待监控的交互行为;当指定的交互行为发生时,采集代码和正常的业务交互响应代码一起触发;采集 完成然后发送到采集 服务器。1.2数据同步

  除了日志采集,数据库同步也是数据访问层的重要组成部分。

  数据同步的三种方式:

  直连同步:通过ODBC或JDBC直接采用标准化统一的标准接口。优点是配置简单,易于实施。但是也有缺点,比如降低了目标系统的性能。建议采用主备策略从备份数据库中提取数据。数据文件同步:约定格式,从源系统生成文本文件,通过FTP服务器传输到目标系统。非常适合收录多个异构数据库系统的数据源,简单实用,另外日志数据通常是文本文件。但是,在上传和下载过程中可能会出现丢包或错误的情况。建议上传时添加验证文件,表示数据量、文件大小等验证信息。数据库日志分析与同步:源系统的日志文件通过TCP/IP三路握手机制依次传输到目标系统。目标系统通过数据加载模块完成数据的导入。数据可实时或准时同步,延迟低,对业务系统影响小。适用于业务系统到数据仓库的增量同步。但缺点是投资比较大,需要部署中间系统提取数据,也存在数据漂移和遗漏的问题。源系统的日志文件通过TCP/IP 三向握手机制依次传输到目标系统。目标系统通过数据加载模块完成数据的导入。数据可实时或准时同步,延迟低,对业务系统影响小。适用于业务系统到数据仓库的增量同步。但缺点是投资比较大,需要部署中间系统提取数据,也存在数据漂移和遗漏的问题。源系统的日志文件通过TCP/IP 三向握手机制依次传输到目标系统。目标系统通过数据加载模块完成数据的导入。数据可实时或准时同步,延迟低,对业务系统影响小。适用于业务系统到数据仓库的增量同步。但缺点是投资比较大,需要部署中间系统提取数据,也存在数据漂移和遗漏的问题。适用于业务系统到数据仓库的增量同步。但缺点是投资比较大,需要部署中间系统提取数据,也存在数据漂移和遗漏的问题。适用于业务系统到数据仓库的增量同步。但缺点是投资比较大,需要部署中间系统提取数据,也存在数据漂移和遗漏的问题。

  阿里数据仓库同步有两种方式:

  1.3线下数据平台

  在整体架构中,数据计算层包括数据存储计算平台(MaxCompute、Stream Compute)、数据集成与管理系统(OneData)。

  MaxCompute由四部分组成:

  Client:Web,提供restful API的离线数据处理服务;软件开发工具包;客户端工具CLT,可以提交命令完成项目管理、DDL等操作;IDE,上层可视化ETL和BI工具,可完成数据同步、任务调度和报表生成等操作。接入层:提供HTTP服务、Cache、负载均衡,实现用户认证和服务级访问控制。逻辑层:又称控制层,是核心部分,实现命令的分析与执行、数据对象的访问控制与授权等功能。其中,Worker处理所有的RESTful请求;Scheduler 负责 Instance 任务的调度和反汇编;而 Excutor 负责 Instance 的执行。计算层:

  围绕Max Compute,阿里巴巴集成了多个基于不同场景的子系统作为统一的开发平台:

  除了统一的开发平台,任务调度系统还负责任务的统一调度和管理。它由调度引擎和执行引擎组成。

  任务调度系统具有以下特点:

  1.4 数据服务

  数据服务架构演进:

  SmartDQ 的元数据模型和处理流程如下:

  

  SmartDQ 只是满足简单的查询服务。在Oneservice的统计数据服务层,有如下三个模块:

  二、数据建模2.1 大数据建模概述

  数据模型定义:数据模型是一种数据组织或存储的方法,强调从业务、数据存储、数据使用等角度对数据进行合理的存储。

  数据模型的含义:

  性能方面,提高查询性能,降低IO吞吐量;在成本上,减少了冗余、结果的复用,降低了数据存储和计算成本;在效率方面,可以提高数据使用效率;在质量方面,它改善了统计的不一致性。

  数据仓库建模方法:

  2.2 数据集成与管理系统

  Onedata是阿里巴巴数据公共层建设的指导方法。其定位和价值在于:通过数据服务和数据产品,完成数据公共层的建设,建立标准化、共享的数据服务能力,降低数据互通成本,释放数据计算、存储、人力资源等资源,并消除业务和技术。疼痛。

  索引命名约定:

  派生索引 = 时间段 + 修饰符 + 原子索引

  例如,过去 7 天的新 APP 用户数。

  指标类型可分为:交易指标(如新注册会员数)、存量指标(如产品总数)、综合指标(如比例、变化、变化率、排名、均值/分位数等统计)。

  2.三维设计

  测度是“事实”,维度是“环境”。维度用于描述事实发生的不同环境,并可用于约束查询、小计和排序。

  维度通常使用主键来标识其唯一性。有两种类型的主键:具有业务意义的自然键和具有自增列或全局唯一标识符的代理键。

  数据仓库的重要特征是反映历史变化,因此如何处理维度变化是维度设计的关键任务。对于缓变尺寸,通常有以下三种处理方法:

  阿里使用快照维度表来记录维度变化:基于计算周期,每天可以保留一个完整的快照数据。优点是简单高效,开发维护成本低;缺点是存储成本高。于是阿里提出了一种极限存储的方法。

  极限存储采用历史拉链存储方式,即添加新的时间字段(start_dt和end_dt)。与全量存储相比,优点是不变的数据不会重复存储。

  但是,历史拉链存储也有缺点,即下游使用和理解成本高;时间分区可能会超出数据库的分区限制。

  因此,可以有针对性地进行两个优化:

  透明(即上层对用户进行视图操作和映射关联,用户感知不到极限存储表的存在);历史拉链表是每月制作的(与每天相比,可以大大减少分区数量)。2.4 事实表设计

  事实用于衡量业务流程。常用的事实有以下三种类型:

  根据产生方式,事实表可分为以下三种:

  事实表的几个设计原则:

  事实表的设计方法:选择业务流程→声明粒度→确定维度→确定事实。这种方法也适合采集数据分析的需要。

  三、数据管理3.1元数据

  元数据是数据的数据,它记录了数据从产生到消费的整个过程:数据仓库中模型的定义、各层级之间的映射关系、监控数据的数据状态、ETL任务的运行状态, 等等。

  根据用途,元数据可以分为技术元数据和业务元数据:

  统一元数据体系建设目标:打通数据访问、处理、消费全环节,提供统一规范的元数据服务导出,保证元数据输出的稳定性和质量。

  构建统一元数据系统的目标流程:

  对底层数据进行梳理,对元数据进行分类,减少数据重复,丰富表和字段的使用;搭建中间层,在治理、存储、质量、安全等治理领域提供数据支撑;向外界提供统一的元数据服务出口。

  元数据被广泛使用:

  阿里的应用主要有以下几个方面:

  (1)数据配置文件

  为数据建立血缘关系图,解决研发前期搜索数据、确定口径算法、数据处理的复杂困境,节省研发成本,更高效地理解和使用数据,并标记,通过标签组织和归档数据。

  数据标签主要分为四类:

  (2)元数据门户

  通过数据地图检索和理解数据,通过数据管理进行计算、存储和安全管理。

  (3)血缘分析

  表级血缘关系、领域血缘关系、间接使用表应用血缘关系用于影响分析、重要性分析、离线分析、离线分析、链接分析、故障排除等。

  (4)数据建模

  它可以实现从经验建模到元数据驱动的升级,提供基于数据的指导,提高建模效率。使用的元数据有:表的基本元数据,比如表的下游情况、查询/关联/聚合的数量;表的关联元数据:关联表、关联类型、关联数、关联字段等;字段的基本元数据,如字段名称、评论、查询/关联/关联/聚合/过滤次数。

  (5) 驱动 ETL 开发

  OneClick 可用于日常数据运维,如任务查询定位、添加字段、表删除、表备份、任务离线、任务删除等。 例如Data Profile判断数据可以离线后,触发OneClick数据离线工作流,直接自动删除数据、删除元数据、离线调度任务、离线DQC监控。

  3.2计算管理

  计算管理的目的是减少计算资源消耗,提高任务执行性能。计算优化可以分为任务优化和系统优化。

  3.3存储和成本管理

  从以下几个方面介绍存储优化:

  3.4 数据质量

  数据质量是一切有效分析和准备的基础和前提,因此数据质量的保证是数据仓库建设的重要环节。

  数据质量保证的原则主要有四个方面:

  阿里的数据质量构建方法包括以下几个方面:

  摩萨德可以提供强有力的保障监控和自定义警报。围绕运维目标即业务监控设计强保障监控,业务预警时间受到威胁报警。比如业务人员每天的离线数据任务,业务输出时间为9点。Summer可以根据当前业务中所有任务最近7天的平均运行时间,设置预警时间,如果7点数据没有输出就发出预警。另外,当任务失败时,可以自定义告警配置。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线