Amazon DEA-C01: 數據攝取與收集 — 學習指南

屬於 Amazon Data Engineer Associate DEA-C01 — 學習指南. 使用經過驗證的解答練習: Amazon 考試中心, 或參加限時模擬考試: ExamRoll.io.

這個領域涵蓋了可靠且大規模地將原始資料導入資料平台的模式、AWS 服務以及操作細節。資料工程師必須在批次和串流的進入點之間做出選擇,確保資料的編目和可發現性,並針對吞吐量、可重播性及故障模式進行設計。關鍵的 AWS 建構模組包括:用於批次處理的 S3 和 Glue、用於串流處理的 Kinesis 和 Firehose、用於資料庫遷移和 CDC 的 DMS,以及用於臨時性 (ad-hoc) 和推送式 (push-based) 擷取的 API/事件驅動元件 (API Gateway, Lambda, SNS, SQS, S3 events)。

使用 AWS Glue 和 S3 進行批次擷取

Glue 是將批次資料擷取至 S3 和您的資料目錄的主要託管式 ETL 和中繼資料解決方案。典型的模式是:將原始檔案存放到 S3 (使用不同的 raw/zone 前綴),執行 Glue crawler 來推斷結構 (schema) 並填入 Glue Data Catalog,然後執行 Glue ETL 任務 (Spark) 來進行轉換、分割 (partition)、轉換為列式儲存格式 (Parquet/ORC),並將優化後的資料寫回 S3。設定 crawler 時,需使用適當的分類器 (classifier) (內建的 CSV/JSON/Parquet 或自訂的 grok/regex),並給予 crawler 一個具有 s3:GetObject/s3:ListBucket 和 glue:catalog 權限的 IAM 角色——缺少這些權限是常見的操作錯誤。

在設定 Glue 任務和 crawler 時,請使用以下主控台/CLI 模式和開關選項:

undefined

,並使用

undefined

啟動。

undefined

;啟用任務書籤 (job bookmarks) 以避免重複處理。 Glue 與其他替代方案的決策標準:

使用 Kinesis Data Streams 和 Firehose 進行串流擷取

Kinesis Data Streams (KDS) 用於具備重播、消費者控制和精細擴展能力的即時擷取。一個 Kinesis shard 提供 1 MB/秒或 1,000 筆記錄/秒的寫入容量,以及 2 MB/秒的讀取容量;使用

undefined

建立串流,並使用

undefined

放入資料。分割區索引鍵 (Partition key) 決定了 shard 的分配;分割區索引鍵的基數 (cardinality) 過低會導致熱點 shard (hot shards)——可透過增加索引鍵的熵 (entropy) 或在後面加上雜湊值來避免。使用

undefined

來擴展 shard 數量,或啟用 On-Demand 模式以進行自動擴展。

Firehose 是一個交付串流服務,專為近乎即時地交付至目的地 (S3, Redshift, OpenSearch, Splunk) 而優化,具備內建的緩衝、壓縮和可選的 Lambda 轉換功能。使用 BufferingHints 設定緩衝:buffer_size (MB) 和 buffer_interval (秒),以在交付延遲和成本之間進行調整;啟用壓縮 (GZIP, Snappy),並設定一個處理用的 Lambda 進行記錄層級的轉換。主要差異:

當您需要重播、強大的消費者控制或多個下游消費者時,選擇 KDS;當您需要以最少的操作開銷,簡單地將資料交付和轉換到 S3/Redshift/OpenSearch 時,選擇 Firehose。

使用 DMS 進行資料庫遷移和 CDC

AWS DMS 用於同質/異質性遷移和持續性複寫 (CDC)。部署一個複寫執行個體 (

undefined

),其大小需能應付吞吐量,而大小的決策取決於變更率、完整載入的資料量以及任務的平行度。DMS 任務類型:

full-load 和 CDC 之間的決策標準:當您需要停機時間最短的遷移時,使用 full-load+CDC;當初始載入已由其他機制完成後,使用僅 CDC 模式進行持續複寫。務必驗證結構對應,並使用具代表性的資料量來執行測試遷移。

基於 API 與事件驅動的擷取模式

API 與事件適用於推送式擷取與協同運作。常見模式:

維運考量與 CLI 模式:

常見陷阱與決策標準

實務問題:使用案例情境

RetailCo 公司收集行動裝置的點擊流 (高流量即時數據) 和每日夜間的產品目錄檔案;他們需要即時儀表板和一個整合的分析資料湖。

  1. 將點擊流擷取到 Kinesis Data Streams,分割區索引鍵由使用者會話 (user session) + 雜湊後的分片後綴組成;使用 Kinesis Data Analytics 或 Lambda/Kinesis Client Library 建立消費者以進行即時處理。
  2. 使用 Kinesis Data Firehose 搭配一個轉換用的 Lambda,將豐富化後的串流輸出以 Parquet 格式持久化到 S3,用 Snappy 壓縮,並可選擇性地載入到 Redshift Spectrum 進行分析。
  3. 將每日夜間的目錄檔案放置在 S3 的 raw/ 路徑下,並執行排程的 Glue crawler 來更新 Glue Data Catalog,然後執行 Glue ETL 任務將其轉換為分割後的 Parquet 格式,存放在 curated zone (策展區)。
  4. 使用 S3 事件通知 -> SNS -> Lambda 來觸發輕量級的中繼資料更新或使快取失效;將交付路由到 SQS 以進行持久的下游處理。
  5. 監控 Kinesis 分片指標 (IncomingBytes, IncomingRecords, PutRecords.Success),並使用 UpdateShardCount 或 On-Demand 模式的串流來應對增長;啟用 CloudWatch 警報。

AWS 最佳實踐的理由:分離即時與批次處理路徑,當需要重播和消費者隔離時使用 Kinesis Data Streams,使用 Firehose 進行到 S3/目標的託管交付,並維護一個 Glue Data Catalog 以便於資料探索及與 Athena/Redshift 的查詢整合。


所有領域 · 數據儲存與資料湖架構

練習這些題目 → · 在 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.

通過考試 →

瀏覽 Amazon →

Related guides

一站式存取

一份訂閱。所有考試。

每個方案都可無限存取答案搜尋、練習測驗、AI 解釋和完整的資源庫 — 支援 20 多種語言。

每月
24.87
Just €0.83/day
包含所有內容:
  • 無限答案搜尋
  • 無限練習測驗
  • AI 驅動的解釋
  • 完整資源庫
  • 20 多種語言
  • 每週內容更新
  • 獎勵與推薦
  • 優先支援
開始免費試用

無需信用卡*

最佳價值
12 個月
179.87
Just €0.49/daySave 40%
包含所有內容:
  • 無限答案搜尋
  • 無限練習測驗
  • AI 驅動的解釋
  • 完整資源庫
  • 20 多種語言
  • 每週內容更新
  • 獎勵與推薦
  • 優先支援
開始免費試用

無需信用卡*

✓ 包含免費方案 · ✓ 隨時取消 · ✓ 所有方案解鎖完整產品