04/29 2021

【AWS 數據戰情室】Day 14 Glue ETL Job 教學 – Part 1

S3資料源準備

接下來我們來介紹 ETL Job,在開始之前我們需要先準備資料源

  1. 這次我們一樣使用 Kaggle 的資料,將資料放入 S3,階層如下圖
  1. S3 上的資料準備完成後,再到 Glue 的 Crawlers 在創建一次我們在 Day 7 所創建的 Crawler (SimpleDataCrawler),將S3 的路徑由 s3://it.sample.s3/SampleData/order 改為 s3://it.sample.s3/SampleData,完成後執行此 Crawler
  1. 執行完成後可以看到 table 中多出了 7 張新的 Table,但會發現其中一張 Table(products) 沒有爬取成功,因為在 589 行的地方出現了 “10”” Bamboo Skewers” 這樣的資料,所以導致 Crawler 無法正常判斷,使用編輯器將 “” 去除,再重新執行一次 Crawler 就可以正常爬取資料,如果發現欄位有異常,可以先刪除 Table 再執行 Crawler

在遇到比較大的資料無法使用編輯器進行處理時,則可以使用 Linux CMD 進行字元替換
sed -i 's//""//g' products.csv
s/:代表執行替換功能
/"":代表要替換的字元 /""
//:代表替換後的字元

而找出錯誤的方式可以使用二分法或是減少資料筆數先讓 Crawler 可以正常運作,這次 troubleshooting 的方式就是先將資料筆數固定在前1000 筆資料,再透過二分法找出有問題的資料欄位。

請持續鎖定 Nextlink 架構師專欄,以獲得最新專業資訊喔!

若您有任何 AWS 需求,歡迎與我們聯繫!