Physical Address

304 North Cardinal St.
Dorchester Center, MA 02124

GCP 筆記: Dataprep

Dataprep 是一款無伺服器的雲端運算服務,可以適用於不同規模的專案中。

這次的主要目標是要匯入資料集、修正比對錯誤的資料、轉換資料 (transform data) 與連結資料 (join)。

在開始 Lab 後,先建立 Cloud Storage 貯體。

初始化 Dataprep

  1. 點擊 [導覽選單] > [Dataprep]。
  2. 按照系統提示,允許需要的授權。
  3. 在 First time set up 的提示中,點選 [Continue],完成初始化。

建立流程

  1. 點擊初次介紹提示中的 [Create Flow],或是從左側導覽列點選 [Flow],進入流程管理介面後點擊 [Create…] > [Blank Flow]
  2. 將流程命名為 FEC-2016,內容敘述則輸入「United States Federal Elections Commission 2016」(非必要,但實際執行專案時還是建議要寫說明)。

匯入資料集

  1. 點擊右上角 [Add Datasets],點選提示視窗中的 [Import Datasets]。
  2. 在左側導覽列選擇 [GCS],以存取 Cloud Storage 中的資料集。
  3. 點擊 [Choose a file or folder] 下方的 [GCS],將路徑修改為 gs://spls/gsp105,點擊 [Go]。
  4. 點擊 us-fec 後,點擊路徑內檔案 cn-2016.txt 左方的 + 記號,將資料集新增至右側面板。接著於右側面板將資料集名稱重新命名為 Candidate Master 2016
  5. 以同樣的方式新增 itcont-2016.txt 至右側面板,並重新命名為 Campaign Contributions 2016
  6. 確認兩個資料集後,點擊 [Import & Add to Flow]。

準備資料

  1. 系統預設會選取 Candidate Master 2016 資料集,如果沒有的話,手動選取該資料集,並點擊右側面板的 Edit Recipe。接著會開啟資料的 Transformer 介面。
  2. 在 Transformer 介面中,你可以針對資料進行調整,等到資料滿意後,再一次性的執行轉換。
  3. 每個欄位的最左邊,顯示該欄位的資料類型。點擊中間的欄位名稱,可以檢視該欄資料的整體細節。

因為練習使用的資料集跟 Lab 教材的資料集不一樣 (可能新版系統整理過了),所以這邊就參考他的內容就好。

點擊第二列的圖表,右側面板會顯示建議如何處理相關資料。尤其是欄位中出現比對不符的情況時,適合用這種方式清除無效的資料。

連結資料

  1. 回到 Dataprep 首頁,點擊 Campaign Contributions 資料集,新增 Recipe。
  2. 點擊右側面板 Edit Recipe,開始編輯。
  3. 點擊右上角的搜尋視窗,可以輸入下方的指令,輸入後會自動轉換為可編輯的介面。這個語法稱為 Wrangle Language,用於整理資料。
  4. 接著點擊 New Step,搜尋 Join datasets,選取資料集 Candidate Master 2016 後,點擊 [Accept]。在 [Join keys] 處,Dataprep 會提供比對鍵值的建議,選擇想要比對的欄位後,點擊 [Save and Continue],點擊 [Next] 並勾選全部欄位。
replacepatterns col: * with: '' on: `{start}"|"{end}` global: true

彙整資料

  1. 點擊右側面板的 Add Step,輸入下列指令,製作樞紐分析表。
pivot value:sum(column16),average(column16),countif(column16 > 0) group: column2,column24,column8

重新命名欄位

rename type: manual mapping: [column24,'Candidate_Name'], [column2,'Candidate_ID'],[column8,'Party_Affiliation'], [sum_column16,'Total_Contribution_Sum'], [average_column16,'Average_Contribution_Sum'], [countif,'Number_of_Contributions']
Eric Chuang
Eric Chuang

正職是廣告行銷人員,因為 Google Tag Manager 的關係開始踏入網站製作的領域,進一步把 WordPress 當成 PHP + HTML + CSS + JavaScript 的學習教材。此外,因為工作的關係,曾經用 Automattic 的 Underscores (_s) 替客戶與公司官網進行全客製化佈景主題開發。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料