阿里云ACP大数据备考攻略第四弹
·
一.全面知识框架:阿里云大数据产品矩阵
| 产品类别 | 产品名称 | 核心定位 | 关键能力 | 典型应用场景 |
|---|---|---|---|---|
| 中枢平台 | DataWorks | 一站式智能数据开发与治理平台 | 任务调度、数据集成、数据开发、数据运维、数据安全、数据质量、数据服务 | 统一数据中台入口,规范开发流程,保障数据全链路安全与质量 |
| 离线数仓 | MaxCompute | EB级SaaS云原生数据仓库 | 海量离线批处理、SQL/MapReduce/Graph计算、高安全、低成本 | T+1报表、大规模ETL、机器学习特征工程、日志归档分析 |
| 实时数仓/HSAP | Hologres | HSAP(混合负载)实时交互式分析引擎 | 高并发点查 + 复杂分析、亚秒级响应、行列共存、Fixed Plan | 实时用户画像、交互式BI、实时风控、统一实时数仓出口 |
| 实时数仓/MPP | AnalyticDB for MySQL | 云原生MPP数据仓库(兼容MySQL) | PB级实时多维分析、毫秒级响应、高并发 | 实时BI大屏、用户行为分析、广告效果追踪、IoT时序分析 |
| NoSQL数据库 | Tablestore (OTS) | 海量NoSQL多模型数据库 | 全局强一致、自动分片、低成本、高并发在线访问 | 消息/Feed流、元数据存储、用户画像标签、IoT设备数据 |
| OLTP数据库 | RDS / DRDS | 稳定可靠的在线关系型数据库 | ACID事务、主备高可用、读写分离、水平拆分(DRDS) | 电商订单、用户账户、金融交易等核心在线业务系统 |
| 对象存储 | OSS | 海量、安全、低成本的对象存储 | 五级存储(标准/低频/归档)、HDFS兼容(JindoFS)、高持久性 | 数据湖底座、静态网站托管、备份归档、大数据原始数据存储 |
| 流计算引擎 | Flink (实时计算) | 全托管企业级流式计算平台 | Exactly-Once语义、StreamSQL、Window/Over聚合、状态管理 | 实时大屏、实时风控、实时推荐、IoT流数据处理 |
| 搜索与分析 | Elasticsearch | 全托管搜索与分析引擎 | 近乎实时全文检索、日志分析、Kibana可视化 | ELK日志分析、网站搜索、APM应用监控、SIEM安全分析 |
1. 计算模式 vs 存储模式
| 产品 | 计算模式 | 存储模式 | Serverless | 是否自带存储 |
|---|---|---|---|---|
| DataWorks | 调度/编排 | 无 | 是 | 否 (纯平台) |
| MaxCompute | 离线批处理 (Batch) | 列存 | 是 | 是 |
| Hologres | HSAP (混合) | 行存/列存/行列共存 | 是 | 是 |
| AnalyticDB | MPP 交互式分析 | 列存 | 部分 (ECU可扩缩) | 是 |
| Tablestore | 在线点查/简单计算 | LSM-Tree (宽表) | 是 | 是 |
| RDS/DRDS | OLTP 事务处理 | 行存 | 否 | 是 |
| OSS | 无 | 对象存储 | 是 | 是 |
| Flink | 流式计算 (Streaming) | 无 | 是 | 否 (需对接外部源/汇) |
| Elasticsearch | 近实时搜索/分析 | 倒排索引 + 列存 (Doc Values) | 否 | 是 |
结论:MaxCompute 是离线之王;Hologres 和 AnalyticDB 是实时分析双雄,前者更侧重 HSAP 统一,后者更侧重 MPP 分析;Flink 是流计算的事实标准;OSS 是统一的数据湖底座。
2. 数据时效性与查询性能
| 产品 | 数据时效性 | 查询延迟 | 并发能力 | 适用查询类型 |
|---|---|---|---|---|
| MaxCompute | T+1 / 小时级 | 分钟~小时级 | 低 | 复杂批处理、全表扫描 |
| Hologres | 秒级~毫秒级 | 毫秒~秒级 | 极高 (10万+ QPS) | 点查、复杂分析、即席查询 |
| AnalyticDB | 秒级 | 毫秒~秒级 | 高 | 多维分析、聚合、关联 |
| Tablestore | 毫秒级 | 毫秒级 | 极高 | 基于主键的点查、范围查询 |
| RDS | 毫秒级 | 毫秒级 | 中高 | OLTP 事务、简单点查 |
| Flink | 毫秒级 (处理) | N/A (流处理) | N/A | 窗口聚合、流关联、CEP |
| Elasticsearch | 秒级 (近实时) | 毫秒~秒级 | 高 | 全文检索、模糊查询、聚合 |
结论:追求极致低延迟和高并发点查,选 Hologres 或 Tablestore;追求复杂多维分析,选 Hologres 或 AnalyticDB;做离线重计算,选 MaxCompute。
3. 协议与生态兼容性
| 产品 | 主要协议/接口 | 生态兼容性 |
|---|---|---|
| DataWorks | Web UI, OpenAPI | 阿里云大数据全家桶 |
| MaxCompute | ODPS SQL, Tunnel API | 自有生态,与开源Hadoop不直接兼容 |
| Hologres | PostgreSQL 11 | 无缝对接 PostgreSQL 生态 (JDBC/ODBC, BI工具) |
| AnalyticDB | MySQL 5.7/8.0 | 无缝对接 MySQL 生态 |
| Tablestore | Tablestore SDK/API | NoSQL 生态 |
| RDS/DRDS | MySQL/SQLServer/PG | 完全兼容对应数据库生态 |
| OSS | RESTful API, S3 API | 广泛兼容,支持 HDFS (via JindoFS) |
| Flink | StreamSQL, Java/Python API | Apache Flink 开源生态 |
| Elasticsearch | RESTful API | Elastic Stack (ELK) 开源生态 |
结论:Hologres 和 AnalyticDB 的最大优势在于协议兼容,能极大降低迁移和使用成本。OSS 作为存储底座,其 S3/HDFS 兼容性是构建开放数据湖的关键。
4. 协同工作流(典型数据架构)
一个典型的现代数据架构会组合使用多个产品:
-
数据采集:
- 在线业务数据 → RDS/DRDS。
- 日志/埋点数据 → Kafka/Flink → OSS (原始层)。
- IoT 设备数据 → Tablestore。
-
数据处理:
- 离线处理:OSS/RDS → DataWorks 编排 → MaxCompute (清洗、建模、训练)。
- 实时处理:Kafka → Flink (实时ETL、特征计算) → Hologres/AnalyticDB。
-
数据存储与服务:
- 统一实时数仓:Hologres (同时服务在线应用和BI分析)。
- 专用分析库:AnalyticDB (供BI团队做深度分析)。
- 数据湖:OSS (存放原始数据、中间层、模型结果)。
- 元数据/画像:Tablestore (供在线服务快速查询)。
-
数据治理与可视化:
- 统一管控:DataWorks (调度、质量、安全)。
- 搜索分析:Elasticsearch (日志、监控)。
- BI展示:Quick BI / Tableau 连接 Hologres/AnalyticDB。
5.一句话选择指南
- “我要建一个T+1的数据仓库,处理PB级历史数据” → MaxCompute。
- “我需要一套系统,既能给APP提供毫秒级用户画像查询,又能给分析师做复杂的即席分析” → Hologres。
- “我的BI团队需要对实时数据做多维钻取,且他们只会用MySQL” → AnalyticDB for MySQL。
- “我有海量的非结构化数据(图片、视频、日志),需要一个便宜又可靠的存储” → OSS。
- “我的核心交易系统需要一个稳定、高可用的数据库” → RDS。
- “我的用户表太大,单机MySQL扛不住了” → DRDS。
- “我需要存储十亿用户的标签,并能毫秒级查询” → Tablestore。
- “我需要实时处理用户点击流,做实时大屏和风控” → Flink。
- “我需要搭建一个日志分析平台” → Elasticsearch。
- “我需要一个平台来统一管理以上所有任务和数据” → DataWorks。
二.常考易错知识点
1.DataWorks
1.1 在大数据开发治理平台DataWorks,关于数据地图中数据权限申请,申请表权限的时长,单位为天,不填则默认为永久。超过申请权限时长时,系统将自动回收该权限。
1.2 在数据地图中,元数据详情包括数据结构、字段含义、产出信息、加工逻辑、使用记录、热度信息。
1.3 DataWorks数据服务集成了“一键实时同步Elasticsearch “的解决方案,整库离线同步至Elasticsearch、一键实时同步至Elasticsearch、一键实时同步至Hologres、全增量实时同步至Hologres。可以选择整库全表或部分表进行同步。
2.MaxCompute
2.1 MaxCompute新一代的V2.0计算框架,可以直接对外部表进行海量文件进行查询,无需将数据加载至MaxCompute表中,既减少了数据迁移的时间和人力,也节省了存储的成本。MaxCompute支持的外部表包括(OSS和OTS等非结构化存储的外部表)
2.2 DataHub是阿里云流式数据(Streaming Data)的处理平台。数据上传至DataHub后保存在实时表里,后续会在5分钟内通过定时任务的形式同步到MaxCompute离线表里,供离线计算使用。
2.3 EMR集群节点:EMR集群通常包括用于不同目的的节点,如处理节点、管理节点等。常见的处理节点包括Spark、Hive等,这些是用于特定数据处理任务的节点。例如,Spark节点用于运行Spark作业,Hive节点用于执行Hive查询。 Slave包含的节点:在一个典型的Hadoop生态系统中(EMR基于Hadoop生态),Slave节点通常包括HDFS的DataNode和YARN的NodeManager。DataNode负责存储数据,NodeManager负责管理容器资源和监控容器的运行。
2.4 分区剪裁失败的通常原因是(使用了用户自定义函数)
3.Hologres
3.1 在Hologres开发工具中,(HoloWeb)是基于Hologres引擎开发的,使用可视化方式开发和管理数据库的一站式大数据开发平台。它支持可视化和SQL两种操作,能满足不同开发经验的需求,完全适用于Hologres的各种开发操作。
3.2 Hologres扩展函数中,漏斗分析是常见的转化分析方法,它用于反映用户各个阶段行为的转化率。APPROX_COUNT_DISTINCT是聚合函数。
3.3 下列Hologres扩展函数中,支持内部表和外部表的是(MAX_PT、APPROX_COUNT_DISTINCT)
3.4 Hologres存储解决数据一致性的方法是(通过二阶段提交来处理数据的一致性、将来源于离散数据链路和实时数据链路处理的结果存储在Hologres里面)
3.5 关于Hologres产品架构,Hologres采用存储计算分离架构,其中计算层中的存储引擎SE(Storage Engine),主要用于(管理和处理数据, 包括创建、查询、更新和删除(简称 CRUD)数据等)
3.6 Hologres 逻辑架构的计算层中,用来加速查询 MaxCompute 的执行引擎是(SQE(Seahawks Query Engine))
3.7 使用SQL语句导入MaxCompute 的数据至 Hologres,数据量太大或者导入逻辑太复杂,会产生 Query executor exceeded total memory limitation xxxxx: yyyy bytes used. 报错,对所有参与的内表、外表执行 `ANALYZE` 命令,可更新统计元信息,帮助查询优化器生成更优执行计划,从而避免因 Join Order 决策错误导致的内存超限
4.AnalyticDB
5.Tablestore
6.RDS/DRDS
7.OSS
8.Flink
8.1 阿里云实时计算Flink可以手动配置触发报警的条件内容,配置完成后会在每次间隔指定的时间,对指定的指标值与阈值进行计算比较,(attack query in 1 minute)指标不是阿里云实时计算Flink支持的
8.2 RANGE OVER Window:具有相同时间值的所有元素行视为同一计算行,即具有相同时间值的所有行都是同一个窗口。 OVER窗口(OVER Window)是传统数据库的标准开窗,不同于Group By Window,OVER窗口中每1个元素都对应1个窗口。 OVER窗口可以按照实际元素的行或实际的元素值(时间戳值)确定窗口,因此流数据元素可能分布在多个窗口中。在应用OVER窗口的流式数据中,每1个元素都对应1个OVER窗口
8.3 阿里云实时计算 Flink 完全兼容开源 Flink 的 SQL 和 DataStream API,并未提供“比 DataStream API 功能更多、更灵活的 SQL 语法”。SQL 与 DataStream API 是两种不同抽象层级的编程接口,各有适用场景,不存在一方功能全面超越另一方
8.4 阿里云实时计算,维表只能引用 (JOIN),不可执行INSERT。视图只能引用(FROM)。结果表仅支持INSERT操作。
8.5 支持实时同步整库(或者多张表)的全量和增量数据到每张对应的结果表中。支持使用正则表达式定义库名,匹配数据源的多个分库下的源表,合并后同步到下游每张对应表名的结果表中。在实时同步整库数据的同时,还支持将每张源表的表结构变更(加列等)实时同步到结果表中。支持使用STATEMENT SET语法将多个CDAS和CTAS语句作为一个作业一起提交,并支持对源表节点的合并复用,降低对数据源的压力。
8.6 阿里云实时计算SQL中,声明表的字段映射根据外部数据源是否有Schema,可以分为(顺序映射、名称映射)
8.7 阿里云实时计算可以通过监控指标来分析作业数据是否正常。通过各类指标可以对作业运行情况进行一键式诊断,展示作业运行的各项核心指标,(SLA)不是阿里云实时计算支持的监控指标
8.8 一般抽象层级分为四种:Stateful Stream Processing、DataStream/DataSet API、Table API、SQL。其中阿里云实时计算支持(DataStream和SQL)抽象层级
8.9 SESSION函数用于在GROUP BY子句中定义会话窗口。会话窗口(SESSION)通过SESSION活动来对元素进行分组。会话窗口与滚动窗口和滑动窗口相比,没有窗口重叠,没有固定窗口大小。相反,当它在一个固定的时间周期内不再收到元素,即会话断开时,该窗口就会关闭。
8.10 Apache Flink 是一种可以处理批处理任务的流处理框架。提供低延迟、高吞吐流计算。提供了基于Web的调度视图
9.Elasticsearch
9.1 在Elasticsearch搜索通常是一个两阶段过程,称之为Query Then Fetch。在Query阶段时,每个分片返回各自优先队列中所有文档的ID和排序值给(协调)节点。
9.2 在使用Elasticsearch写入数据时,除设置合理的索引分片数和副本数外,还有(索引刷新间隔refresh_interval、加大translog flush间隔、使用bulk批量请求)经典的优化写入手段
9.3 在Elasticsearch中, Mapping设计 直接影响查询性能。合理选择字段类型(如使用keyword而非text用于精确匹配、避免对不需要分析的字段启用全文检索)、关闭不必要的 _source 或 doc_values、设置 index: false 对不参与查询的字段等,都是核心的查询优化手段
9.4 在使用Elasticsearch进行数据查询时,对于数据不是很多的索引,为了提高检索性能,#强制合并API示例:POST /twitter/_forcemerge?max_num_segments=1, 对于小规模索引(例如小于30GB),建议合并成1个,检索不会跨分片,跨节点,跨网络,大大提高了检索性能。
9.5 在阿里云ElasticSearch DSL 中,关于 ElasticSearch 别名叙述,生产环境建议给每个索引都配置别名, 创建索引 my_index_v1,配置别名my_index实现方式为:PUT /my_index_v1/_alias/my_index
9.6 阿里云Elasticsearch中有很多基础概念,其中对于节点描述,一个节点是集群中的一个服务器,用来存储数据并参与集群的索引和搜索。一个集群可以拥有多个节点,每个节点可以扮演不同的角色: 数据节点:存储索引数据的节点,主要对文档进行增删改查、聚合等操作。 专有主节点:对集群进行操作,例如创建或删除索引,跟踪哪些节点是集群的一部分,并决定哪些分片分配给相关的节点。稳定的主节点对集群的健康非常重要,默认情况下集群中的任一节点都可能被选为主节点。 协调节点:分担数据节点的CPU开销,从而提高处理性能和服务稳定性
9.7 了解了阿里云Elasticsearch 的使用方法后,可以执行如下命令DELETE /product_info,删除对应索引,避免浪费资源,使用DELETE可以删除索引,DELETE请求删除指定主键的文档或删除整个索引。
9.8 使用Elasticsearch DSL查询语法可以对数据进行查询,FIND请求指定索引/名称,_search,对于date, keyword类型字段不支持range范围查询:这个描述是不正确的。首先,Elasticsearch中的查询请求应该是使用GET或POST,而不是FIND。其次,对于date和keyword类型的字段,Elasticsearch确实支持range查询,允许用户查询在特定范围内的值。
9.9 以下从自建Elasticsearch至阿里云Elasticsearch的数据迁移方案,用Logstash根据时间戳迁移增量数据
10.机器学习及通用知识
10.1 正则表达式是非常耗时的操作,对比加减乘除通常有百倍的性能开销,而且正则表达式在某些极端情况下可能会进入无限循环,导致作业阻塞,具体情况请参见Regex execution is too slow,因此建议使用LIKE。正则函数包括:REGEXP、REGEXP_REPLACE。
10.2 阿里云数据湖构建(Data Lake Formation,DLF)是一款全托管的快速构建云上数据湖及Lakehouse的服务,资源(Resource):数据湖中管理的资源。 库(Database):数据湖元数据中管理的库。 表(Table):数据湖元数据中管理的表。 列(Column):数据湖元数据中管理的列。 访问资源的方式与资源类型有关,不同资源类型支持的访问方式各不相同。如库支持CreateTable、List等权限,表支持Select、Update等权限,列只支持Select权限。
10.3 数据质量按模版配置规则使用时,支持(波动率型、数值型)校验方式
10.4 (数据ETL操作)不属于数据集成 (Data Integration)的使用场景
10.5 在经典大数据平台架构中,服务层为应用层提供接口和服务,(流数据采集、实时流计算、数据存储)属于服务层
10.6 作业调优的目的和衡量标准 作业正常启动和运行。 作业具备合理的延时和吞吐,满足业务性能需求。 高效的使用资源,降低成本。不包含报警是否生效。
10.7 在传统的分布式系统中,常用的存储计算架构有如下三种:Shared Disk/Storage (共享存储)、Shared Nothing 每节点自己挂载存储、Storage Disaggregation(存储计算分离架构)。
10.8 基于可视化设计原则,(快速掌握业务的变化)不属于突出变化的内容
10.9 数据探索是一种线上的交互式查询服务,开通即用。它是完全托管的,并且具备了高性能、弹性、易用等特点,数据湖内多种存储格式,包括Delta、 Hudi、CSV、Parquet、JSON、ORC等数据格式,这些格式中,属于行列混合式存储的数据格式是(JSON)
10.10 数据质量配置可通过(试跑日志),确认此次任务产出的数据是否符合预期及验证表规则的适用性
10.11 工作空间是PAI的顶层概念,为企业和团队提供统一的计算资源管理及人员权限管理能力,为AI开发者提供支持团队协作的全流程开发工具及AI资产管理能力。(数据集管理、 模型管理、 镜像管理、 任务管理、 代码配置)属于AI资产管理
10.12 创建表时,可以通过选择合适的分布列的原则不包括(选择Where条件列为分布列)
10.13 Lambda架构的思路以传统的离线数仓为主,然后引入了实时数据的处理链路,但整个 Lambda架构也有一些问题,数据同步难,资源消耗大、架构复杂,开发成本高、实时,离线数据很难保持一致结果。
10.14 在传统机器学习中,更符合的特征是“根据业务人员进行特征选择”和“特征易于理解”。而“图像的特征”和“对硬件要求很高,一般需要GPU来完成”更多地与深度学习相关。
10.15 数据安全平台的安全中心提供的数据访问控制功能,方便用户以可视化的方式(申请、审批、审计)相关权限,查看审批流程并跟进审批进度,进行权限的管控。
10.16 数据湖存储计算成本低,使用运维成本高。数据类型丰富(结构化、半结构化、非结构化)。无需提前建模,Schema-on-Read,灵活度高。
10.17 Solr 是 Apache Lucene 子项目,Elasticseach是构筑在Lucene 之上的上层应用
10.18 数据质量支持和(调度任务)关联,在表规则与其绑定后,任务实例运行完成都会触发数据质量的检查。
10.19 现代化的数据仓库有(规模与成本、安全合规、业务效能)核心诉求
10.20 近年来,大数据技术朝着云化、轻量化、服务化的方向发展,具体可表现为(服务化、按需索取、容器服务)
更多推荐
所有评论(0)