Google PDE: 数据存储、数据湖与文件格式 — 学习指南

属于 Google Professional Data Engineer — 学习指南. 使用经过验证的答案练习: Google 考试中心, 或参加限时模拟考试: ExamRoll.io.

概览

Google Cloud 上的数据存储涵盖了原始对象存储、精选数据湖以及为分析优化的格式。要构建可靠、受治理且高性能的数据湖,需要在存储类别、存储桶设置、位置、文件格式、表布局和生命周期方面做出审慎的选择。本节详细介绍了设计上的权衡、需要避免的故障模式,以及与大规模 BigQuery、Spark 和流式处理管道相适应的模式。

Cloud Storage 基础:类别、存储桶、一致性和生命周期

Cloud Storage 是用于存储原始文件和精选文件的持久、高可用的基础。

使用 BigLake 和 Dataplex 实现统一的数据湖治理

BigLake 和 Dataplex 实现了跨文件和表的安全与治理的标准化。

文件格式、压缩与查询行为

选择正确的文件格式对成本和性能有直接影响。

布局、分区、性能工程、驻留和迁移

undefined

实际问题场景

Acme Retail 每天从一个物流合作伙伴处接收 CSV 文件,这些文件被投放到一个区域级 Cloud Storage 存储桶中。文件偶尔包含格式错误的行。Acme 必须接收、验证、转换为适合分析的格式,并加载到 BigQuery 中以支持近实时仪表板,同时保留错误行以供检查并强制执行治理。

方法:

  1. 在 Dataplex 中接收和治理原始数据

    • 创建一个 Dataplex 数据湖,其中包含一个映射到 gs://acme-raw/logistics/ 的原始区域(raw zone)资产。
    • 理由:集中进行治理、元数据和血缘关系管理。在区域(zone)级别强制执行 IAM,并使用策略标记(policy tags)标记敏感字段,以便在下游强制执行。
  2. 强制执行生命周期和保留策略

    • 在 acme-raw 存储桶上应用 30 天的保留策略,并启用对象版本控制。
    • 理由:防止合作伙伴意外覆盖/删除;短期保留策略平衡了成本和可恢复性。版本控制有助于回滚错误的交付。
  3. 使用 Dataflow 批处理管道进行验证和注入

    • 通过对象完成通知(object finalize notifications)触发每日的 Dataflow 作业。使用 schema 读取 CSV 并进行逐条记录验证;将有效记录写入 BigQuery 暂存表(按 event_date 分区),并将解析/验证错误路由到死信(dead-letter)BigQuery 表。
    • 理由:Dataflow 提供可扩展的并行解析和强大的死信处理能力,分析师可以借此检查错误行。这反映了处理异构质量 CSV 的最佳实践。
  4. 在策管区域(curated zone)中压缩并转换为 Parquet 格式

    • 同一管道将经过验证的数据以大小约为 256–512 MB 的 Parquet 文件形式写入 gs://acme-curated/logistics/date=YYYY-MM-DD/。
    • 理由:Parquet 在 BigQuery 和 Spark 中支持列裁剪和谓词下推,从而减少扫描字节数并改善延迟;文件压缩缓解了因合作伙伴交付模式造成的小文件开销。
  5. 通过 BigLake 提供受治理的分析

    • 在策管的 Parquet 路径上创建一个 BigLake 外部表,并启用 Hive 自动分区;应用列级策略标记和行访问策略以实现合作伙伴特定的筛选。
    • 理由:通过集中审计,在 BigQuery 和 Spark 之间实现统一的细粒度访问。分区裁剪减少了按日期筛选时的扫描成本。
  6. 将关键聚合数据加载到原生 BigQuery

    • 对于热门仪表板,运行一个计划的 BigQuery 作业,将策管的 Parquet 外部表中最近 N 天的数据注入到一个原生的、经过聚类和分区的表中。
    • 理由:原生存储可加速高并发 BI,而外部 BigLake 表则作为受治理的记录系统(system-of-record),用于更广泛的访问。
  7. 使用 Cloud Logging 和 Pub/Sub 进行监控和告警

    • 创建一个日志接收器(log sink),将 Dataflow 和 BigQuery 加载作业的结果筛选到 Pub/Sub;与监控工具集成,以便在发生故障或错误行率升高时立即发出警报。
    • 理由:无需轮询即可获得针对特定表的操作可见性;支持 SRE 实践。
  8. 优化存储类别和驻留位置

    • 将策管的 Parquet 文件在 Standard 存储中保留 14 天,30 天后通过生命周期规则转换到 Coldline;将原始和策管存储桶都存储在与 BigQuery 数据集相同的区域,以避免出口流量费用。
    • 理由:平衡了热数据读取性能与成本。同地部署可保持合规性,并最大限度地减少延迟和出口费用。
  9. 验证端到端数据质量

    • 每次运行后,比较暂存表、策管外部表和原生 BigQuery 表之间的计数和哈希聚合值;隔离异常情况。
    • 理由:及早发现 schema 变更或注入回归问题;加密或指纹哈希无需完全重新扫描即可提供轻量级保证。

此设计提供了具有死信分析功能的弹性注入、用于高效查询的分析就绪 Parquet 格式、通过 Dataplex 和 BigLake 实现的集中治理,以及成本优化的生命周期策略,同时遵循了最小权限访问和可审计操作的原则。


数据工程架构与设计 · 所有领域 · BigQuery 分析与数仓工程

练习这些题目 → · 在 ExamRoll.io 上限时练习 →

Pass the whole exam — not just this question

You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.

通过考试 →

浏览 Google →

Related guides

一体化访问

一次订阅。所有考试。

所有计划均可无限制搜索答案、进行模拟测试、获取AI解释以及访问完整的资源库 — 支持20多种语言。

每月
24.87
Just €0.83/day
包含所有内容:
  • 无限答案搜索
  • 无限模拟测试
  • AI驱动的解释
  • 完整资源库
  • 20多种语言
  • 每周内容更新
  • 奖励与推荐
  • 优先支持
开始免费试用

无需信用卡*

最具价值
12个月
179.87
Just €0.49/daySave 40%
包含所有内容:
  • 无限答案搜索
  • 无限模拟测试
  • AI驱动的解释
  • 完整资源库
  • 20多种语言
  • 每周内容更新
  • 奖励与推荐
  • 优先支持
开始免费试用

无需信用卡*

✓ 包含免费计划 · ✓ 随时取消 · ✓ 所有计划均解锁完整产品