MLA-C01 Udemy Companion

第 01 章 · PDF 第 18-136 页

数据摄取与存储

本章训练一个核心技能:看到数据形态、访问模式、吞吐、延迟和运维约束后,能在格式、对象存储、文件系统和流服务之间做出最小充分选择。

优先级:高 D1.1、D1.3 建议 45-60 分钟 练习 9 题

1. 先问五个问题,再看服务名

数据是什么?结构化、半结构化还是非结构化;单条记录还是文件对象。
如何读取?整行、少数列、随机文件、顺序扫描、共享 POSIX 路径还是块设备。
什么时候到?离线批量、持续流入、秒级处理,还是允许分钟级缓冲后落地。
规模和性能?文件数量、平均文件大小、吞吐、IOPS、分区键和并发消费者。
硬约束?最低运维、Kafka 兼容、回放、数据驻留、加密、跨账户或成本。
一行路由:

批量对象先想 S3;共享 Linux 文件先想 EFS;超高吞吐训练先想 FSx for Lustre;保留并回放事件先想 Kinesis Data Streams;只需托管交付先想 Data Firehose;有状态实时计算先想 Managed Service for Apache Flink;必须兼容 Kafka 生态再想 Amazon MSK。

2. 数据形态决定 schema 和访问方式

形态特点例子常见 AWS 起点
结构化固定 schema,行列明确,易于 SQL 查询订单表、传感器数值、特征表RDS、Redshift、DynamoDB 导出、S3 列式文件
半结构化记录自带字段,但结构可变化或嵌套JSON、日志、Avro 事件S3、Kinesis、MSK、OpenSearch
非结构化没有统一行列 schema图像、音频、视频、自由文本S3;视频流可用 Kinesis Video Streams

课件用 Volume、Velocity、Variety 描述大数据。考试真正关心的是它们如何改变选择:Volume 影响成本和吞吐,Velocity 影响批处理还是流处理,Variety 影响 schema、格式和转换工具。

仓库、湖、湖仓与数据网格

模式优势代价题干线索
Data Warehouse治理明确,SQL 分析性能稳定装载前通常需要建模和转换结构化 BI、重复聚合、Redshift
Data Lake低成本保存多种原始数据,schema-on-read需要目录、质量与权限治理S3、Glue Data Catalog、Athena
Lakehouse在数据湖上获得事务、表和分析能力表格式和治理更复杂开放表格式、ACID、统一批流
Data Mesh按业务域分散数据产品所有权需要强治理标准和跨域协作领域团队、数据产品、联邦治理

考试视角:ETL 是提取、转换、装载;ELT 是先装入可扩展目标再转换。题干问具体服务时,先确认转换发生在落地前还是落地后,以及是否需要托管 schema 和作业编排。

3. 格式选择看访问模式,不看个人偏好

格式布局适合不适合
CSV文本、行式简单交换、人工检查、广泛兼容嵌套数据、强 schema、高效列查询
JSON文本、记录式半结构化事件、灵活字段、API 数据大规模重复分析,存储和解析开销较高
Avro二进制、行式事件流、整条记录读取、schema evolution只扫描少数列的分析查询
Parquet二进制、列式Athena/Spark 分析、压缩、只读部分列高频逐条写入或极低延迟单记录更新
ORC二进制、列式大规模分析与 Hive 生态简单人工交换和流式逐条消息
RecordIO/TFRecord二进制、记录容器把许多样本序列化为训练友好的大文件通用 BI 查询和人工阅读
高频判断:
  • “Athena 只查少数列、降低扫描成本”通常选 Parquet 或 ORC,并配合压缩和分区。
  • “Kafka 事件、整条记录读取、schema 演进”通常偏向 Avro。
  • “大量小图片导致训练启动慢”可先打包成 RecordIO、TFRecord 或 WebDataset,再考虑文件系统。

还要把“格式”和“分区”分开:列式格式减少每个文件内部的扫描,S3 分区让查询跳过不相关目录。两者经常同时出现。

4. S3 是默认数据湖,不是共享文件系统

S3 提供对象语义、极高耐久性和按使用量计费,适合原始数据、处理后数据、训练集、模型工件和日志。对象通过 bucket、key 和 version 标识;“文件夹”只是 key 前缀的界面表现。

需求词优先能力考试注意点
防止公开泄露S3 Block Public Access、最小权限 bucket policy不要用 ACL 作为现代默认方案
静态加密并控制密钥SSE-KMS + KMS key policy调用主体同时需要 S3 与 KMS 权限;高吞吐注意 KMS 配额
强制传输加密bucket policy 拒绝 aws:SecureTransport=false默认加密不等于强制 TLS
恢复误删或覆盖Versioning版本会增加存储成本,可配生命周期
跨区域/同区域复制CRR / SRR通常需要启用版本控制,并明确复制范围和 KMS 权限
冷热分层Lifecycle、Intelligent-Tiering训练热数据和归档模型工件的访问频率不同
多团队不同访问入口S3 Access Points每个访问点可有独立策略和网络来源
对象到达后触发处理Event Notifications 或 EventBridge目标可为 Lambda、SQS、SNS;EventBridge 规则更灵活

性能和成本陷阱

主来源:Amazon S3 User GuideSageMaker training data access

5. EBS、EFS 与 FSx:先判断存储语义

服务语义与范围最强线索主要代价
Amazon EBS块存储,挂到 EC2;卷通常属于一个 AZ实例本地低延迟块设备、Provisioned IOPS、训练实例临时下载空间容量和 IOPS 要规划;不是跨实例共享文件系统
Amazon EFS托管 NFS,区域级共享文件系统多个 Linux 客户端共享 POSIX 路径、已有预处理/标注应用写入 EFS训练必须通过 VPC 访问;吞吐需与工作负载匹配
FSx for Lustre高性能并行文件系统,可与 S3 集成超大数据集、很多小文件、随机读取、极高吞吐训练/HPC文件系统创建和初始化有开销,冷数据首次读取可能变慢
FSx for NetApp ONTAP企业级多协议存储,支持 NFS/SMB/iSCSI已有 ONTAP 数据、快照/克隆、混合云企业文件工作负载功能和管理面比单纯训练输入复杂
FSx for Windows托管 Windows 文件服务器,SMBWindows 原生、Active Directory、SMB 共享通常不是 SageMaker Linux 训练的首选
FSx for OpenZFS托管 OpenZFS 文件系统ZFS 快照、克隆和低延迟文件访问迁移MLA-C01 D1 的直接优先级低于 Lustre/ONTAP
不要混淆:

EBS 是块设备;EFS 是共享 NFS;FSx 是一族托管文件系统。题干写“从 S3 提供高吞吐并行训练文件系统”时,答案是 FSx for Lustre,而不是泛称 FSx。

6. SageMaker 训练输入:存储位置和输入模式是两道题

SageMaker 可以从 S3、EFS 或 FSx for Lustre 提供训练数据。对 S3,还要在 File、FastFile 和 Pipe 模式之间选择。

模式行为适用场景限制/代价
File训练开始前把数据完整下载到实例卷较小数据集;可接受启动等待;训练会多次本地读取实例存储必须容纳全量数据;小文件多时启动慢
FastFile用 POSIX 接口按需流式读取 S3 对象大文件、顺序读取、希望快速启动且不建文件系统随机读取可用但不一定最优;只支持 S3 prefix
Pipe通过命名管道直接从 S3 流式传入算法原生支持、顺序流式读取、augmented manifest训练代码需适配;官方说明多数场景已由更简单的 FastFile 取代
当前官方建议的起点:

小数据先试 File;大而连续的文件先试 FastFile;太大、无法合并的大量小文件或强随机访问考虑 FSx for Lustre;数据已经由共享应用写在 EFS 上,再直接挂载 EFS。

主来源:Choosing an input mode and a storage unit

7. 流式服务按“保留、处理、交付、兼容性”区分

服务你负责什么核心能力典型题干
Kinesis Data Streams生产者、消费者、分区键与容量模式保留事件、多个消费者、重放、按分区有序实时事件总线、回放训练数据、多个独立消费者
Amazon Data Firehose配置来源、缓冲、转换和目标托管交付到 S3、Redshift、OpenSearch、HTTP 等最低运维、允许缓冲、把流持续落到数据湖
Managed Service for Apache FlinkFlink 应用逻辑与状态窗口、事件时间、有状态计算、复杂流转换实时聚合、会话窗口、持续特征、状态和 checkpoint
Amazon MSKKafka topic/partition/client 设计托管 Apache Kafka 控制面,兼容 Kafka API 和生态迁移既有 Kafka 客户端、连接器和工具
AWS Lambda短时无服务器函数事件驱动的轻量无状态转换简单记录清洗、触发式处理、无需持续集群

Kinesis Data Streams 与 Data Firehose

Kinesis Data Streams 是可保留、可重放、可由多个应用消费的流平台;Data Firehose 是把数据以托管方式缓冲并交付到目标。Firehose 可以直接接收记录,也可以读取现有 Kinesis data stream。需要自定义消费者和重放时选 Streams,只需要最低运维地落地时选 Firehose。

容量模式与分区键

2026 名称与生命周期校准:

课件中的 “Kinesis Data Firehose” 现名为 Amazon Data Firehose。“Kinesis Data Analytics for SQL Applications” 已于 2026-01-27 停止支持;新题和新架构应使用 Amazon Managed Service for Apache Flink。官方考纲仍明确包含 Apache Flink 和 Apache Kafka 概念。

主来源:Kinesis Data StreamsAmazon Data FirehoseManaged Service for Apache FlinkAmazon MSK

8. 数据摄取故障按层定位

症状先看常见原因方向
部分 shard 被限流partition key 分布、写入指标hot shard、突发流量、单记录过大改善 key、拆分 shard、改 On-demand、批量写入
消费者越来越落后GetRecords.IteratorAgeMilliseconds处理速度不足、共享读吞吐争用扩消费者、优化处理、enhanced fan-out
Firehose 无法交付交付日志和目标错误IAM、KMS、目标网络/权限、转换失败验证角色和 key policy,检查 S3 backup
S3 训练启动很慢文件数、平均大小、下载阶段大量小文件、File 模式全量下载合并文件、FastFile、FSx for Lustre
EFS/FSx 无法挂载VPC、子网、安全组、文件系统策略网络路径或权限不完整验证同 VPC 可达性与入站/出站规则
SSE-KMS 数据拒绝访问S3 policy、IAM、KMS key policy只授权了 S3,未授权 KMS;跨账户 key policy 缺失沿调用主体逐层验证权限
把你的 MLOps 经验变成考试语言:

在 SageMaker Pipeline 中,ProcessingStep/TrainingStep 只是消费者。题目若问数据为何慢,先把问题退回数据平面:对象大小、输入模式、文件系统、网络、分区和权限;不要立刻改 Pipeline 编排。

章节练习

这些题混合格式、存储和流服务。先圈出决定性需求词,再作答。

第 1 题 · 单选

数据科学家每天使用 Athena 查询 S3 上数 TB 的日志,但每次只读取 5 个字段。公司希望降低扫描数据量和查询成本。最佳改进是什么?

第 2 题 · 单选

一个 SageMaker 训练任务需要随机读取 S3 中数百万个无法合并的小文件,并要求极高吞吐。最佳数据源是什么?

第 3 题 · 单选

公司需要保留传感器事件供三个独立应用实时消费,并能在修复消费者后重放历史记录。应选择什么?

第 4 题 · 匹配

把需求与最匹配的存储或流服务配对。

第 5 题 · 排序

把实时特征管道按合理的数据流顺序排列:先保留原始事件,再做有状态窗口聚合,随后托管交付,最后进入训练数据湖。

第 6 题 · 多选

Kinesis Data Streams 的单个 shard 持续被限流,但其他 shard 很空闲。哪些动作最直接?选择两项。

第 7 题 · 单选

一个 400 GB 的训练集由少量大文件构成,训练代码使用普通文件路径并主要顺序读取。团队希望快速开始训练且不创建文件系统。首选什么?

第 8 题 · 单选

旧资料建议新建 Kinesis Data Analytics for SQL 应用来做窗口聚合。到 2026 年应采用什么当前服务?

第 9 题 · 多选

SageMaker 跨账户读取使用 SSE-KMS 加密的 S3 训练数据时,通常需要检查哪些权限层?选择三项。

本章掌握线:80%

尚未提交

主来源与复习动作

现在不看表格,用一句话分别解释:Kinesis Data Streams 与 Data Firehose、EFS 与 FSx for Lustre、File 与 FastFile。任何一组说不清,都可以把你的解释发给教师继续追问。