教學目標

學習 Google Cloud Platform 的心得分享,初步了解有關 Google Cloud 資料工程師練習考題的資訊。

重點概念

首先今天花了點時間練習 Google Cloud 資料工程師的練習考題,在此篇進行心得分享,其中提到 Cloud Dataflow、Cloud Storage、BigQuery、Cloud Dataproc、Cloud Spanner、Cloud Bigtable、Cloud Pub/Sub、Cloud Natural Language API、Cloud Speech-to-Text API、Cloud Vision API、Cloud Machine Learning、… 等雲端服務的相關應用。像是當我們在 Google Cloud 中透過 Cloud Dataflow建立資料管線用於檔案儲存,需要支援 JSON 檔案,並且 JSON 檔案的綱要經常發生變更,以及分析師團隊將會使用 SQL 查詢資料,這時建議使用 BigQuery 進行儲存,並且選擇在綱要選題項選取「Automatically detect」,此外儲存和更新資料在區域型 Cloud Storage 儲存桶和建立在 BigQuery 中的聯合資料來源,此方式將會比儲存在 BigQuery 中花更少的成本費用。

接著當使用 Hadoop 叢集用於分析服務和轉換資料,資料以 Parquet 格式儲存在 HDFS 中,資料處理工作會在每天晚上執行 6 個小時,分析使用者能夠存取系統一天的資料,第一個階段能夠快速遷移全部 Hadoop 環境無需重新進行架構,第二個階段將會遷移至 BigQuery 中,以利進行資料分析,以及遷移至 Cloud Dataflow 中,以利進行資料處理,為了達到以上目標,則最佳實務為建立二個 Cloud Dataproc 叢集支援分析和資料處理,並且指定至 Cloud Storage 儲存桶中以 Parquet 格式進行儲存,以利未來更容易載入至 BigQuery 中,請注意不建議將持久性 HDFS 附加至 Cloud Dataproc 叢集中,而是建議將資料永久儲存至 Cloud Storage 受管服務而不受叢集的生命週期的影響。

再來當設計關聯資料儲存將會需要交易一致性和在提供全世界進行存取,這時建議採取 Cloud Spanner 進行儲存,並且建議設定 CPU 使用率而非儲存使用率用於擴展指標,以利進行水平擴展和建立次索引值用於非鍵值欄位支援查詢模式用於資料優化。此外當設計非關聯資料儲存其中用於用於時間序列的分析,這時建議將資料載入至 Cloud Bigtable 中,並且使用 cbt 工具基於需求進行資料分析,然而當發生效能問題時,則建議重新設定資料列的關鍵值以利改善即時查詢的效能,更進一步當設計即時串流應用時,則能夠透過 Cloud Dataflow 設計串流管線,以及使用 Cloud Pub/Sub 用於擷取的訊息佇列,同時當使用 Cloud Pub/Sub 用於輸入時,則建議附加時間戳記在訊息中。

最後當開發應用程式需要使用機器學習模型,但是企業組織中沒有專業團隊,就能夠使用專屬的雲端服務 API 在最短時間內進行實作,像是我們能夠使用 Cloud Natural Language API 用於自然語言分析,使用 Cloud Speech-to-Text API 用於語音轉文字,使用 Cloud Vision API 用於影像辨別。更進一步我們能夠建立資料管線,並且透過 Cloud Machine Learning 部署機器學習模型,以及監控工作任務執行的狀態,像是我們能夠監控「failed」工作任務的狀態。

總結我們能夠透過 Google Cloud 中多種雲端服務的搭配使用,以利滿足資料工程的需求,然而透過練習考題僅能夠讓我們熟悉考試題型,但是並沒有保證一定會通過證照考試。

相關資源