AWS Certified Data Analytics – Specialty (DAS-C01) 考試準備

2021-02-11 AWS

概述 & 考試範圍

DAS-C01 這張認證專注於 Data 領域,與 Data 相關的像大數據資料處理、資料串流、資料分析、Data Lake、Data Warehouse 等現代化應用都涵蓋,DAS-C01 是在 2020 年 4 月改版的認證,所以題目中參雜許多和現代技術相關的領域,例如 大量 IoT 資料搜集的場景。

考試範圍八九不離十都和 AWS Data 相關的服務有關係,像是 Athena, S3, EMR, Redshift, Glue, Elasticsearch, QuickSight 和 Kinesis 家族系列都是 DAS-C01 考題的常客,前面列的服務如果沒有一定的熟悉度很快就陣亡了。

考試基本資訊:

  • 考試時間:180 分鐘 (如需更多時間可延長 30 分鐘)
  • 考試題數:65 題
  • 考試題型:選擇題、複選題 (選 3 個)
  • 考試深度:大數據資料處理、即時/非即時資料流、資料成本控管與優化、資料安全等實戰經驗。

考前必備基本知識

  • S3
    • 利用 S3:ObjectCreated:* 即時 event trigger Lambda 進行資料處理
    • S3 Glacier Select 可以用來查詢 Glacier 內的資料,但必須遵循 S3 Glacier Select Requirements and Quotas
    • S3 Glacier Select 分為三個 data access tiers; expedited (1~5 mins), standard (3~5 hours), and bulk (5~12 hours)
  • Lake Formation
    • 專注在 DataLake 的資料保護,可指定多個受管 S3 bucket,權限統一由 Lake Formation 控制
    • 至少指定 1 個 DataLake Administrator
    • 必須開啟 Data Catalog
    • 支援 Organization 之間進行 Cross-Account Access,不在 Org 內的使用 AWS Resource Access Manager。 Cross-Account Access: How It Works
  • Athena
    • 必看 Top 10 Performance Tuning Tips for Amazon Athena
      • 對資料進行 Partition (year, month, day …)
      • 也可將資料分別存放在不同 S3 Bucket
      • 資料建議使用 Apache Parquet or Apache ORC (預設壓縮且可拆分),若為其他格式建議使用 BZip2 或 Gzip 壓縮
      • 若 S3 檔案太小 (低於 128MB) 則有可能影響效能,檔案大可以減少 S3 的請求和更少 metadata 管理成本
      • 優化有 ORDER BY, GROUP BY, JOIN 的句子
    • Workgroup
  • Glue
  • Redshift
  • Elasticsearch
  • QuickSight
  • Kinesis Family
    • Kinesis Data Streams: Real-Time Solution
      • 背後是使用 Hash partitioning 來分配資料到 shard
      • 數據預設保留 24 小時,最多可保存 7 天用來 replay data
      • 每個 shared 最高可支援每秒 1000 次 PUT 記錄或是每秒 1 MB 資料。
      • 每個 PutRecords 最多 500 筆 Record
      • 資料進入到 Kinesis 就無法刪除 (不可改變性)
      • 依 shard 數量計費
      • 支援 Lambda 先對 data 進行處理,1 個 shard 可啟動 1~10 個 Lambda (預設為 1,可啟動 Parallelization Factor 處理大量資料)
      • Producers
        • Kinesis Producer Library (KPL)
          • 支援 C++ / Java
          • 當需要 high performance, lone-running producers 使用
          • 內建 Automation retry 以及 CloudWatch metrics
          • 使用者必須自行壓縮傳輸中的資料
          • 支援 Batching 功能
            • 適合用於資料增量,效率利用更好減少成本
            • 也能設定 RecordMaxBufferedTime (default 100ms) 延遲處理資料
        • Kinesis Producer SDK
        • Kinesis Agent
        • 3rd party libraries: Spark, Log4j, Kafka …
      • Consumers
        • 與 Lambda 的組合和應用情境
        • Kinesis Client Library (KCL)
          • 基於 Java 開發,但也可以透過 MultiLangDaemon 來支援其他語言,但由於 MultiLangDaemon 是基於 Java 開發所以仍需要安裝 Java。
        • Kinesis Consumer SDK
        • Kinesis Connector Library
        • 3rd party libraries: Spark, Log4j, Kafka …
        • Kinesis Firehose
        • 透過開啟 Kinesis Consumer Enhanced Fan-Out 每秒 throughput 可到 2MB per shard,每個 fan-out 不共享給其他 consumer,一個 stream 最多 20 個 consumer enhanced fan-out
    • Kinesis Data Firehose – Near Real time Solution
      • 適合將資料串流到 S3, Redshift, Elasticsearch 和 Splunk
      • 內建 Automatic scaling
      • 可將資料從 JSON 轉換為 Parquet / ORC (僅適用於 S3)
      • 可在 Firehose 整合 Lambda 進行資料處理
      • 支援對 S3 進行 GZip, Zip 和 SNAPPY 壓縮
      • 支援對 Redshift 進行 GZip 壓縮
      • Buffer Sizing
        • Firehose 不會一接收到資料就進行資料轉移。我們可以設定 Buffer size 以及 Buffer interval 讓 Firehose 在達到其中一個條件的時候把接收到的訊息統整起來一次做資料的轉移 (batch processing)。這邊為了能讓 Firehose 盡快把收到的資料轉移到 S3,設定 Buffer interval 為 60 秒。
  • EMR
    • 必看 Cluster Configuration Guidelines and Best Practices
    • Cluster Type 分為 transient 和 persistent mode
    • 支援多種 Hadoop 生態系,若遇到不支援可 Custom AMI 或在 bootstrap action include Library。Create Bootstrap Actions to Install Additional Software
    • EMRFS
      • 基於 HDFS 的實現並將資料儲存在 S3
      • Consistent view
        • read-after-write of S3 Object (AWS re:Invent 2020 發佈 S3 consistency 可取代)
        • 開啟 Consistent view 會建立一張 DynamoDB Table 作為 metadata,並且消耗 RCU/WCU
        • 若直接從 S3 刪除 Object 會與 Consistent view 紀錄的 metadata 有不一致的情況,若要刪除建議從 emrfs 指令刪除 S3 Object。
        • 當資料可能有長期不需要使用,啟動 DynamoDB TTL 節省成本
    • Data Migrations 的方法
      • 利用 S3DistCp 和 DistCp 工具遷移資料
      • HDFS, Local 傳輸到 S3
      • Import 或 Export
      • Direct Connect
    • 支援 Data encryption
      • At-rest Encryption for S3 with EMRFS
        • 支援 Server-side (SSE-S3, SSE-KMS) 和 Client-side 加密 (CSE-KMS or CSE-Custom)
        • S3 SSE 和 CSE 加密是互斥的;可以選擇一個,但不能兩者都選
      • At-rest Encryption for Local DisksOpen-source HDFS Encryption
      • LUKS (Linux Unified Key Setup)
      • In-Transit Data Encryption (SSL)
  • DataSync vs. DMS vs. Data Exchange

考試心得

Data Analytics – Specialty 這張也很吃重實戰經驗,尤其是服務的組合技 (Ex. S3 + Glue + Athena + Quicksight …) 針對不同場景下有不同的選擇,針對已經在 AWS 上進行一些 Data Analytics 的人這張認證應該不難駕馭,再多加強在 Performance tuning 上勝率就很高了

以 Specialty 的等級來說,我認為應該位於中等難度,心目中仍然還是 Advanced Networking 居難度第一位。

References

給 Mr. 沙先生一點建議

彙整

分類

展開全部 | 收合全部

License

訂閱 Mr. 沙先生 的文章

輸入你的 email 用於訂閱