2021 AWS DAS 證照心得

Scott Hsieh (史考特)
13 min readFeb 3, 2021

AWS Certified Data Analytics — Specialty 之考特 AWS 旅程

前言

前身為 AWS Certified Big Data — Specialty,在 2020 年 4 月變為AWS Certified Data Analytics — Specialty(DAS-C01)。這一張證照主要要測試你對於大數據處理、串流處理、資料分析與視覺化、資料倉儲、與資料湖,在 面對各種情境時,是否能篩選出合適的 AWS 服務做應對。

對小弟我背景有興趣的,不嫌棄可參考 LinkedIn。廢話不多說,在考這張前,我已經陸續考過 SAA-C02、SAP-C01、DVA-C01、以及 SOA-C01。如果你對 DAS-C01 有興趣想直上,會建議你先將助理級任一張考過,再來考慮這一張 DAS 。如果你看完覺得還是想直上,考特我只好祝你幸福了。

官方考試指南

官方考試指南你就是先看,才會知道方向,你不要本末倒置,直接第三方訓練課程就開刷,你先知道方向,再考慮去刷,聽到了嗎?親

此認證驗證的能力

  • 定義 AWS 資料分析服務並了解其如何相互整合
  • 說明 AWS 資料分析服務如何適應收集、儲存、處理和視覺化的資料生命週期

建議應具備的知識和經驗

  • 接觸資料分析技術至少 5 年
  • 實際使用 AWS 至少 2 年
  • 具備使用 AWS 服務設計、建置、保障和維護分析解決方案的經驗和專業知識

考試內容(有空我在中翻)

  1. Domain 1: Collection
    1.1 Determine the operational characteristics of the collection system
    1.2 Select a collection system that handles the frequency, volume, and source of data
    1.3 Select a collection system that addresses the key properties of data, such as order, format, and
    compression
  2. Domain 2: Storage and Data Management
    2.1 Determine the operational characteristics of a storage solution for analytics
    2.2 Determine data access and retrieval patterns
    2.3 Select an appropriate data layout, schema, structure, and format
    2.4 Define a data lifecycle based on usage patterns and business requirements
    2.5 Determine an appropriate system for cataloging data and managing metadata
  3. Domain 3: Processing
    3.1 Determine appropriate data processing solution requirements
    3.2 Design a solution for transforming and preparing data for analysis
    3.3 Automate and operationalize a data processing solution
  4. Domain 4: Analysis and Visualization
    4.1 Determine the operational characteristics of an analysis and visualization solution
    4.2 Select the appropriate data analysis solution for a given scenario
    4.3 Select the appropriate data visualization solution for a given scenario
  5. Domain 5: Security
    5.1 Select appropriate authentication and authorization mechanisms
    5.2 Apply data protection and encryption techniques
    5.3 Apply data governance and compliance controls

證照實戰經驗談

Kinesis 家族中的四位成員你一定要搞清楚他們的作用,他們的輸入來源、輸出來源,舉例來說,Kinesis Data Analytics 整合後的資料可以再透過 AWS Lambda 串流到 SQS、SNS等等。充分了解四位成員的輸入、輸出源你以為就結束的話,那麼你就太天真了,Specialty 沒有你想像中的好考。我是指 Kinesis Data Streams 的串流組成、合併、分裂碎片的時機、順序議題、和它們對應的 API 操作,你需要深入去了解。Kinesis 的資料加密方式是什麼?被加密的是端點的資料還是過程中的資料?KCL、KPL、和 Kinesis Agent 的差異在哪裡?寫入和寫出的調節議題和重複問題怎麼解決?KDA 的 SQL 和 Apache Flink 差別在哪邊?KDA 在做串流與靜態 join 時,靜態資料如何被接上的?QWIKLABs 的 Kinesis Data Analytics 範例和開發者文件中的簡單範例至少操作一遍,答應我,好嗎?

那說到串流,Kafka 現在在 AWS 上也有託管服務,它幫你做彈性上的擴展。Kafka 的架構和 Kinesis 的架構差異在哪裡?它們的串流組成元件是否有差異?如果有正常的資料流入了不對的地方,你該做什麼處置?

Redshift 的架構要看過。將資料倒入 Redshift 倉儲,有哪些選項可以選擇,這些選項使用的時機又是什麼,你需要去搞清楚。AWS 最擅長或是說最迷人的地方之一就是彈性和擴展性,那麼 Redshift 一樣也能擴展叢集,那麼節點增多的機制當中,有什麼選項可以選擇,這些用來擴增節點的選項差別在哪裡?這些擴增機制能擴增的節點類型、使用時機,你能不能說明得出來,或是別提說明,看到關鍵描述,你能不能聯想到正確的作法?除了前述的項目之外,Redshift 的工作負載機制中,有哪些模式?而這些模式中能替你做的事情又是什麼?Redshift 的 SQL 指令中,什麼狀況下會用到 VACUUM 和 UNLOAD?關於資料的安全性,Redshift能從哪些層面替你做到安全性上的管控?未加密、運作中的 Redshift 如果需要給資料加密,具體的作法和過程會是怎麼樣的一幅圖畫,你有沒有眉目?關於實作,我是有在 AWS 快速入門中找過幾個案例實際去跑 IaC 的建立,這是 nice to have,你在參考、參考。

Amazon Athena 底層是 Presto ,它可以查哪些格式的資料?在它支援的眾多資料格式中,這些資料格式的差異與壓縮方式,你要有些概念。Athena 和 AWS Glue Catalog 之間的愛恨鳩葛又是怎麼樣的關係,你有沒有體驗過?Athena 的計費方式、資料經過什麼方式處理能讓 Athena 的效能更好你曉不曉得?今天有技術底沒很深的公司,裏頭有很多團隊需要從資料湖查找洞見,有沒有辦法可以預防一些無腦的全掃行為?如果可以從特定層面限制查詢,又這些限制中有哪些類別?有沒有方式可以讓有眾多團隊在使用 Athena 的 AWS 帳號中,看出各團隊所花費的成本?

AWS QuickSight的資料源可以接哪些種類?標準版和企業版的差異在哪裡?我今天如果想看一些特定的報表,在 QuickSight 上又該做哪些操作才能看到我想要的報表?比如說我想看全台灣各縣市的香蕉產量和全台平均的香蕉產量,我要做什麼事才能看到這份報表?資料源的 public 與否和 QuickSight 的連結是否有網路上的項目需要注意?QuickSight 你以為只能做報告查報表並找洞見嗎?現在不是 AI 就是 ML,你知道 QuickSight 也有 ML 解決方案嗎?SageMaker 也是 ML 相關的產品服務,那 QuickSight 的 ML 解決方案和 SageMaker 的 ML 服務差別是在哪裡?

S3 SELECT、Athena、Redshift Spectrum、和 QuickSight 都能查資料,那它們的使用時機和情境又分別是什麼?可以做到列資料限制的服務是那些?那行資料限制呢?如果看到這邊,你有 87 % 都無法回答,我誠心地建議你可以將考試往後延,不然就得充分地在考試中心裡面體驗什麼叫「兩眼開開、準備投胎」,而且還無端燒掉 300 美金;考特關心你的荷包。

AWS Glue Data Catalog 在幹什麼的?它和什麼開源大數據服務相容?AWS Glue 的工作執行底層運作的服務是什麼?它是純粹 的 Serverless Spark 嗎?除了 Spark 常見的 DataFrame API,AWS Glue 還有沒有在做哪些額外華麗的包裝?DynamicFrame 和 Spark 的 DataFrame 是差在哪裡?DynamicFrame 獨有的 function APIs 我建議你要去搞懂,譬如說一份資料集中,如果有一行資料包含了不同型態的資料內容,那麼 DynamicFrame 是否有函數可以解決這件事?我所說的 DynamicFrame 獨有的函數就是 Spark 找不到或是得多做幾個步驟才能辦到的那種 function APIs。(對了,我 Spark 寫了三年多,從 1.6.X 到現在目前的3.0.1)使用 AWS Glue 常遇到哪些例外訊息,遇到 OOM 怎麼辦?(對 Spark 很熟的倒不用特別看)有的時候,我們會重複執行一支 Glue job ,唯一會變的是資料源的資料列數,但可能你的資料操作其實只要轉換新的列數就好,AWS Glue 中是不是有什麼方便的功能可以讓你每次再次執行只會去操作新來的資料?

AWS EMR 集眾大數據開源服務為一身,裏頭的 Spark 和 AWS Glue 差在哪裡?如果 EMR 的 Spark 任務炸掉進而導致 EMR 叢集關閉,有什麼方式可以除錯?如果使用到了 Hadoop ,資料是否能保有持久性?沒有的話,我該選擇什麼儲存方案來讓資料保有持久性?你需要知道 AWS 的分析服務中有哪些底層是基於 Apache 開源服務,它們延展出了哪些 AWS 特有的功能又 EMR 中常見的 Apache 開源大數據服務有哪些?什麼時機選擇 Glue 什麼情境選擇 EMR,你需要有點眉目,最好的狀況當然就是你有實操經驗過,你沒實操過,個人認為你會 K 得蠻辛苦的。

ElasticSearch 可以讓你查詢資料,搭配 Kibana 也能做出視覺化儀表板,那麼 ElasticSearch 適用什麼樣的資料?它能不能做到即時儀表板?ElasticSearch 的組成和 index 的建立你需要有概念,ES 裡也有碎片的術語,那 Kinesis 和 ElasticSearch 的碎片本質上的意義是否一樣或是相似?(你別追太深,要緊的是你需要知道差別或是說其功能)ElasticSearch 常見的例外或是警告訊息是什麼?如果你看到 JVM 相關的警告訊息,有什麼策略可以解決?

公司的在地資料中心想要遷移到雲上,DataSync、DMS、和 Data Exchange 可以起到什麼作用,你應該要有一些聯想,什麼情境下該考慮選用 snowball?什麼狀況該使用 DataSync?舉個例來說,今天你遇到了一家公司有 Hadoop 叢集資料中心,而且有複雜的 Hive 任務(HiveQL是種可以透過幾乎源於SQL標準的 SQL語法執行 Java為原動力的 MapReduce 工作),如果要遷到雲上,該怎麼遷?

我們都知道資料湖越發常見被聽到,S3基本上就是 AWS 中開闢湖泊的地方,在 AWS 中有 Lake Formation 服務能夠讓你湖中暢游,那麼資料湖的來源是跨帳號,在管理上會有哪些基本要注意的項目?你要集中託管或是發散管理,或是只能是其中一種方式?授權方面的問題你也會需要注意。

結論

考完後,你會拿到一份 50% 折扣、考試的兌換券(目前記得這些)。小弟我是非英語母語人士,不過我聽說讀寫的英文能力約莫坐落在 CEFR 的 C1,所以我沒有申請幫助(accommodations)。英文閱讀對我來說不是問題,所以就不會提供建議。時間的安排,也不會給予建議,我只能給上你需要走過什麼路,剩下的就是看你怎麼安排了。
知識內容上,我有看 ACG 的 2020 DAS(幾乎只看 checkpoint)、開發者文件、FAQ、和考試指南的白皮書,啃文件之餘,我有時間就會去實作(console + cdk)。另外,我還會找 AWS ReInvent 的影片來看(我都用1.5倍速,不然時間實在太少)。

參考(有空在補)

  1. Giardinelli, M., Perko, R. and Ridgley, R., 2018. Analyzing Data Streams In Real Time With Amazon Kinesis: PNNL’s Serverless Data Lake Ingestion. [video] Available at: https://youtu.be/dNp1emFFGbU [Accessed 25 January 2021].
  2. Giardinelli, M., Perko, R. and Ridgley, R., 2018. Analyzing Data Streams In Real Time With Amazon Kinesis: PNNL’s Serverless Data Lake Ingestion. [video] Available at: https://youtu.be/dNp1emFFGbU [Accessed 25 January 2021].
  3. Ravi, T., Kanchan, W., Kartik, L.. 2019. AWS re:Invent 2019: Deep dive on using AWS Data Exchange for ML and data analytics (MKT212). [ONLINE] Available at: https://youtu.be/KgxTClsHSr4. [Accessed 2 February 2021].
  4. Syed, J. 2020. Deep Dive Into AWS Lake Formation — Level 300. [ONLINE] Available at: https://youtu.be/Aj5T5fcZZr0. [Accessed 31 January 2021].
  5. aws.amazon.com. 2021. AWS Certified Data Analytics — Specialty. [ONLINE] Available at: https://aws.amazon.com/certification/certified-data-analytics-specialty/. [Accessed 3 February 2021].
  6. www.qwiklabs.com. 2021. QWIKLABS. [ONLINE] Available at: https://www.qwiklabs.com/?locale=en-us. [Accessed 3 February 2021].
Photo by Carlos Muza on Unsplash

--

--

Scott Hsieh (史考特)

10 x AWS-certified, Data Architect in the 104 Corporation. An AWS Data Hero